From 1646f9d3ff0493a6276efd30c18628c6ee83cff8 Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Sun, 21 Jan 2018 23:24:28 +0100 Subject: [PATCH] Implemented inline casting - allowing for improved ASM when doing no-op casting. --- .../java/dk/camelot64/kickc/Compiler.java | 1 + .../fragment/AsmFragmentInstanceSpec.java | 55 +- .../dk/camelot64/kickc/model/CastValue.java | 45 + .../kickc/model/SymbolTypeInference.java | 4 +- .../kickc/passes/Pass2NopCastElimination.java | 65 + .../kickc/passes/Pass3PhiLifting.java | 2 +- .../kickc/passes/Pass4CodeGeneration.java | 2 + .../passes/PassNVariableReferenceInfos.java | 2 + .../dk/camelot64/kickc/test/ref/casting.cfg | 32 +- .../dk/camelot64/kickc/test/ref/casting.log | 251 +- .../dk/camelot64/kickc/test/ref/casting.sym | 8 +- .../camelot64/kickc/test/ref/signed-bytes.cfg | 7 +- .../camelot64/kickc/test/ref/signed-bytes.log | 74 +- .../camelot64/kickc/test/ref/signed-bytes.sym | 4 +- .../kickc/test/ref/test-multiply.asm | 11 +- .../kickc/test/ref/test-multiply.cfg | 399 +- .../kickc/test/ref/test-multiply.log | 3384 ++++++++--------- .../kickc/test/ref/test-multiply.sym | 39 +- 18 files changed, 2210 insertions(+), 2175 deletions(-) create mode 100644 src/main/java/dk/camelot64/kickc/model/CastValue.java create mode 100644 src/main/java/dk/camelot64/kickc/passes/Pass2NopCastElimination.java diff --git a/src/main/java/dk/camelot64/kickc/Compiler.java b/src/main/java/dk/camelot64/kickc/Compiler.java index e4b48ba6b..d74ab24a4 100644 --- a/src/main/java/dk/camelot64/kickc/Compiler.java +++ b/src/main/java/dk/camelot64/kickc/Compiler.java @@ -180,6 +180,7 @@ public class Compiler { optimizations.add(new Pass2ConstantAdditionElimination(program)); optimizations.add(new Pass2FixWordConstructors(program)); optimizations.add(new PassNEliminateUnusedVars(program)); + optimizations.add(new Pass2NopCastElimination(program)); pass2OptimizeSSA(optimizations); // Constant inlining optimizations - as the last step to ensure that constant identification has been completed diff --git a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentInstanceSpec.java b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentInstanceSpec.java index d9f00f7f5..f2c4037ca 100644 --- a/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentInstanceSpec.java +++ b/src/main/java/dk/camelot64/kickc/fragment/AsmFragmentInstanceSpec.java @@ -222,23 +222,36 @@ public class AsmFragmentInstanceSpec { if(value instanceof Variable) { Variable variable = (Variable) value; + SymbolType varType = variable.getType(); + // Find the register Registers.Register register = variable.getAllocation(); - // Find value if it is already bound - for(String name : bindings.keySet()) { - Value bound = bindings.get(name); - if(bound instanceof Variable) { - Registers.Register boundRegister = ((Variable) bound).getAllocation(); - if(boundRegister != null && boundRegister.equals(register)) { - if(SymbolTypeInference.typeMatch(((Variable) bound).getType(), variable.getType())) { - return name; - } - } - } - } - SymbolType varType = ((Variable) value).getType(); + // Examine if the register is already bound - and reuse it + String bound = findBound(varType, register); + if(bound != null) return bound; + // Bind the register String name = getTypePrefix(varType) + getRegisterName(register); bindings.put(name, value); return name; + } else if(value instanceof CastValue) { + CastValue castVal = (CastValue) value; + SymbolType toType = castVal.getToType(); + value = castVal.getValue(); + // Assume cast value is a var-ref + value = program.getSymbolInfos().getVariable((VariableRef) value); + // Find the register + Variable variable = (Variable) value; + Registers.Register register = variable.getAllocation(); + // Examine if the register is already bound (with the cast to type) - and reuse it + String bound = findBound(toType, register); + if(bound != null) { + String name = getTypePrefix(toType) + getRegisterName(register); + return name; + } else { + // Bind the register + String name = getTypePrefix(toType) + getRegisterName(register); + bindings.put(name, value); + return name; + } } else if(value instanceof ConstantVar || value instanceof ConstantValue) { SymbolType constType; if(value instanceof ConstantVar) { @@ -257,6 +270,22 @@ public class AsmFragmentInstanceSpec { throw new RuntimeException("Binding of value type not supported " + value); } + private String findBound(SymbolType varType, Registers.Register register) { + // Find value if it is already bound + for(String name : bindings.keySet()) { + Value bound = bindings.get(name); + if(bound instanceof Variable) { + Registers.Register boundRegister = ((Variable) bound).getAllocation(); + if(boundRegister != null && boundRegister.equals(register)) { + if(SymbolTypeInference.typeMatch(((Variable) bound).getType(), varType)) { + return name; + } + } + } + } + return null; + } + /** * Get the symbol type part of the binding name (eg. vbu/pws/...) * diff --git a/src/main/java/dk/camelot64/kickc/model/CastValue.java b/src/main/java/dk/camelot64/kickc/model/CastValue.java new file mode 100644 index 000000000..cae2bc50d --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/model/CastValue.java @@ -0,0 +1,45 @@ +package dk.camelot64.kickc.model; + +/** A Cast that requires no actual operation. + * The types have the same size and the code will execute as if the value already had the type cast to. + * Examples: byte to/from signed byte, word to/from sighed word. + */ +public class CastValue implements RValue { + + /** The type cast to. */ + private SymbolType toType; + + /** The value being cast. */ + private RValue value; + + public CastValue(SymbolType toType, RValue value) { + this.toType = toType; + this.value = value; + } + + public SymbolType getToType() { + return toType; + } + + public void setToType(SymbolType toType) { + this.toType = toType; + } + + public RValue getValue() { + return value; + } + + public void setValue(RValue value) { + this.value = value; + } + + @Override + public String toString(Program program) { + return "("+ toType.toString()+")"+ value.toString(program); + } + + @Override + public String toString() { + return toString(null); + } +} diff --git a/src/main/java/dk/camelot64/kickc/model/SymbolTypeInference.java b/src/main/java/dk/camelot64/kickc/model/SymbolTypeInference.java index 42b6b1600..367bca021 100644 --- a/src/main/java/dk/camelot64/kickc/model/SymbolTypeInference.java +++ b/src/main/java/dk/camelot64/kickc/model/SymbolTypeInference.java @@ -298,9 +298,11 @@ public class SymbolTypeInference { return new SymbolTypeArray(((ConstantArrayList) rValue).getElementType()); } else if(rValue instanceof ConstantArrayFilled) { return new SymbolTypeArray(((ConstantArrayFilled) rValue).getElementType(), ((ConstantArrayFilled) rValue).getSize()); + } else if(rValue instanceof CastValue) { + return ((CastValue) rValue).getToType(); } if(type == null) { - throw new RuntimeException("Cannot infer type for " + rValue); + throw new RuntimeException("Cannot infer type for " + rValue.toString()); } return type; } diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2NopCastElimination.java b/src/main/java/dk/camelot64/kickc/passes/Pass2NopCastElimination.java new file mode 100644 index 000000000..ccfc6451c --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2NopCastElimination.java @@ -0,0 +1,65 @@ +package dk.camelot64.kickc.passes; + +import dk.camelot64.kickc.model.*; + +import java.util.LinkedHashMap; +import java.util.ListIterator; + +/** + * Compiler Pass eliminating cast assignments that has no effect (byte to/from signed byte, word to/from signed word) + */ +public class Pass2NopCastElimination extends Pass2SsaOptimization { + + public Pass2NopCastElimination(Program program) { + super(program); + } + + /** + * Eliminate cast assignments that has no effect (byte to/from signed byte, word to/from signed word) + */ + @Override + public boolean step() { + LinkedHashMap castAliasses = new LinkedHashMap<>(); + + for(ControlFlowBlock block : getGraph().getAllBlocks()) { + ListIterator stmtIt = block.getStatements().listIterator(); + while(stmtIt.hasNext()) { + Statement stmt = stmtIt.next(); + if(stmt instanceof StatementAssignment) { + StatementAssignment assignment = (StatementAssignment) stmt; + if(assignment.getlValue() instanceof VariableRef && assignment.getrValue1()==null && assignment.getOperator()!=null ) { + // It is a simple cast assignment - check if it is no-op + SymbolType rValType = SymbolTypeInference.inferType(getScope(), assignment.getrValue2()); + boolean isSimpleCast = false; + SymbolType toType = null; + if(SymbolType.isByte(rValType) && Operator.CAST_SBYTE.equals(assignment.getOperator())) { + isSimpleCast = true; + toType = SymbolType.SBYTE; + } else if(SymbolType.isSByte(rValType) && Operator.CAST_BYTE.equals(assignment.getOperator())) { + isSimpleCast = true; + toType = SymbolType.BYTE; + } else if(SymbolType.isWord(rValType) && Operator.CAST_SWORD.equals(assignment.getOperator())) { + isSimpleCast = true; + toType = SymbolType.SWORD; + } else if(SymbolType.isSWord(rValType) && Operator.CAST_WORD.equals(assignment.getOperator())) { + isSimpleCast = true; + toType = SymbolType.WORD; + } + if(isSimpleCast) { + getLog().append("Eliminating Noop Cast "+assignment.toString(getProgram(), false)); + // Add the alias for replacement + castAliasses.put((VariableRef) assignment.getlValue(), new CastValue(toType, assignment.getrValue2())); + // Remove the assignment + stmtIt.remove(); + } + } + } + } + } + replaceVariables(castAliasses); + deleteSymbols(castAliasses.keySet()); + return (castAliasses.size() > 0); + } + + +} diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass3PhiLifting.java b/src/main/java/dk/camelot64/kickc/passes/Pass3PhiLifting.java index a0e1d7861..b33812020 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass3PhiLifting.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass3PhiLifting.java @@ -39,7 +39,7 @@ public class Pass3PhiLifting { if(!(phiRValue.getrValue() instanceof ConstantValue)) { LabelRef predecessorRef = phiRValue.getPredecessor(); ControlFlowBlock predecessorBlock = graph.getBlock(predecessorRef); - VariableRef rValVarRef = (VariableRef) phiRValue.getrValue(); + //VariableRef rValVarRef = (VariableRef) phiRValue.getrValue(); Variable newVar; if(phiVariable.getVariable().isVersion()) { Variable lValVar = program.getScope().getVariable(phiVariable.getVariable()); diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass4CodeGeneration.java b/src/main/java/dk/camelot64/kickc/passes/Pass4CodeGeneration.java index 319e9f74c..57a5b4236 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass4CodeGeneration.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass4CodeGeneration.java @@ -371,6 +371,8 @@ public class Pass4CodeGeneration { if(rValue instanceof VariableRef) { VariableRef rValueRef = (VariableRef) rValue; return program.getSymbolInfos().getVariable(rValueRef).getAllocation(); + } else if(rValue instanceof CastValue) { + return getRegister(((CastValue) rValue).getValue()); } else { return null; } diff --git a/src/main/java/dk/camelot64/kickc/passes/PassNVariableReferenceInfos.java b/src/main/java/dk/camelot64/kickc/passes/PassNVariableReferenceInfos.java index 1a3a34cce..31816a725 100644 --- a/src/main/java/dk/camelot64/kickc/passes/PassNVariableReferenceInfos.java +++ b/src/main/java/dk/camelot64/kickc/passes/PassNVariableReferenceInfos.java @@ -94,6 +94,8 @@ public class PassNVariableReferenceInfos extends Pass2Base { used.addAll(getReferenced(value)); } return used; + } else if(rValue instanceof CastValue) { + return getReferenced(((CastValue) rValue).getValue()); } else { throw new RuntimeException("Unhandled RValue type " + rValue); } diff --git a/src/test/java/dk/camelot64/kickc/test/ref/casting.cfg b/src/test/java/dk/camelot64/kickc/test/ref/casting.cfg index 9b300c2f2..f41dce990 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/casting.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/casting.cfg @@ -14,31 +14,29 @@ main::@1: scope:[main] from main main::@1 [5] (byte) main::b#2 ← phi( main/(byte/signed byte/word/signed word) 0 main::@1/(byte) main::b#1 ) [ main::b#2 ] ( main:2 [ main::b#2 ] ) [6] (byte) main::b2#0 ← (byte/word/signed word) 200 - (byte) main::b#2 [ main::b#2 main::b2#0 ] ( main:2 [ main::b#2 main::b2#0 ] ) [7] *((const byte*) SCREEN#0 + (byte) main::b#2) ← (byte) main::b2#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) - [8] (signed byte~) main::$1 ← ((signed byte)) (byte) main::b#2 [ main::b#2 main::$1 ] ( main:2 [ main::b#2 main::$1 ] ) - [9] (signed byte) main::sb#0 ← - (signed byte~) main::$1 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) - [10] (byte~) main::$3 ← ((byte)) (signed byte) main::sb#0 [ main::b#2 main::$3 ] ( main:2 [ main::b#2 main::$3 ] ) - [11] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte~) main::$3 [ main::b#2 ] ( main:2 [ main::b#2 ] ) - [12] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) - [13] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) + [8] (signed byte) main::sb#0 ← - (signed byte)(byte) main::b#2 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) + [9] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte)(signed byte) main::sb#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) + [10] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) + [11] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) to:main::@2 main::@2: scope:[main] from main::@1 - [14] phi() [ ] ( main:2 [ ] ) - [15] call w param-assignment [ ] ( main:2 [ ] ) + [12] phi() [ ] ( main:2 [ ] ) + [13] call w param-assignment [ ] ( main:2 [ ] ) to:main::@return main::@return: scope:[main] from main::@2 - [16] return [ ] ( main:2 [ ] ) + [14] return [ ] ( main:2 [ ] ) to:@return w: scope:[w] from main::@2 - [17] phi() [ ] ( main:2::w:15 [ ] ) + [15] phi() [ ] ( main:2::w:13 [ ] ) to:w::@1 w::@1: scope:[w] from w w::@1 - [18] (byte) w::i#2 ← phi( w/(byte/signed byte/word/signed word) 0 w::@1/(byte) w::i#1 ) [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) - [19] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) - [20] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) - [21] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) - [22] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) - [23] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) + [16] (byte) w::i#2 ← phi( w/(byte/signed byte/word/signed word) 0 w::@1/(byte) w::i#1 ) [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) + [17] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) + [18] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) + [19] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) + [20] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) + [21] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) to:w::@return w::@return: scope:[w] from w::@1 - [24] return [ ] ( main:2::w:15 [ ] ) + [22] return [ ] ( main:2::w:13 [ ] ) to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/casting.log b/src/test/java/dk/camelot64/kickc/test/ref/casting.log index 20f0f4d8b..859a8e2c4 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/casting.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/casting.log @@ -427,6 +427,9 @@ Multiple usages for variable. Not optimizing sub-constant (byte) main::b#2 Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 +Eliminating Noop Cast (signed byte~) main::$1 ← ((signed byte)) (byte) main::b#2 +Eliminating Noop Cast (byte~) main::$3 ← ((byte)) (signed byte) main::sb#0 +Succesful SSA optimization Pass2NopCastElimination Multiple usages for variable. Not optimizing sub-constant (byte) main::b#2 Multiple usages for variable. Not optimizing sub-constant (byte) main::b#2 Multiple usages for variable. Not optimizing sub-constant (byte) w::i#2 @@ -457,15 +460,14 @@ Adding NOP phi() at start of main::@2 Adding NOP phi() at start of w CALL GRAPH Calls in [] to main:2 -Calls in [main] to w:15 +Calls in [main] to w:13 Propagating live ranges... Propagating live ranges... Propagating live ranges... -Propagating live ranges... Created 2 initial phi equivalence classes -Coalesced [17] main::b#3 ← main::b#1 -Coalesced [26] w::i#3 ← w::i#1 +Coalesced [15] main::b#3 ← main::b#1 +Coalesced [24] w::i#3 ← w::i#1 Coalesced down to 2 phi equivalence classes Culled Empty Block (label) main::@4 Culled Empty Block (label) w::@3 @@ -479,7 +481,6 @@ Adding NOP phi() at start of w Propagating live ranges... Propagating live ranges... Propagating live ranges... -Propagating live ranges... FINAL CONTROL FLOW GRAPH @begin: scope:[] from @@ -498,33 +499,31 @@ main::@1: scope:[main] from main main::@1 [5] (byte) main::b#2 ← phi( main/(byte/signed byte/word/signed word) 0 main::@1/(byte) main::b#1 ) [ main::b#2 ] ( main:2 [ main::b#2 ] ) [6] (byte) main::b2#0 ← (byte/word/signed word) 200 - (byte) main::b#2 [ main::b#2 main::b2#0 ] ( main:2 [ main::b#2 main::b2#0 ] ) [7] *((const byte*) SCREEN#0 + (byte) main::b#2) ← (byte) main::b2#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) - [8] (signed byte~) main::$1 ← ((signed byte)) (byte) main::b#2 [ main::b#2 main::$1 ] ( main:2 [ main::b#2 main::$1 ] ) - [9] (signed byte) main::sb#0 ← - (signed byte~) main::$1 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) - [10] (byte~) main::$3 ← ((byte)) (signed byte) main::sb#0 [ main::b#2 main::$3 ] ( main:2 [ main::b#2 main::$3 ] ) - [11] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte~) main::$3 [ main::b#2 ] ( main:2 [ main::b#2 ] ) - [12] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) - [13] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) + [8] (signed byte) main::sb#0 ← - (signed byte)(byte) main::b#2 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) + [9] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte)(signed byte) main::sb#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) + [10] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) + [11] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) to:main::@2 main::@2: scope:[main] from main::@1 - [14] phi() [ ] ( main:2 [ ] ) - [15] call w param-assignment [ ] ( main:2 [ ] ) + [12] phi() [ ] ( main:2 [ ] ) + [13] call w param-assignment [ ] ( main:2 [ ] ) to:main::@return main::@return: scope:[main] from main::@2 - [16] return [ ] ( main:2 [ ] ) + [14] return [ ] ( main:2 [ ] ) to:@return w: scope:[w] from main::@2 - [17] phi() [ ] ( main:2::w:15 [ ] ) + [15] phi() [ ] ( main:2::w:13 [ ] ) to:w::@1 w::@1: scope:[w] from w w::@1 - [18] (byte) w::i#2 ← phi( w/(byte/signed byte/word/signed word) 0 w::@1/(byte) w::i#1 ) [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) - [19] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) - [20] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) - [21] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) - [22] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) - [23] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) + [16] (byte) w::i#2 ← phi( w/(byte/signed byte/word/signed word) 0 w::@1/(byte) w::i#1 ) [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) + [17] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) + [18] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) + [19] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) + [20] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) + [21] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) to:w::@return w::@return: scope:[w] from w::@1 - [24] return [ ] ( main:2::w:15 [ ] ) + [22] return [ ] ( main:2::w:13 [ ] ) to:@return DOMINATORS @@ -563,15 +562,13 @@ VARIABLE REGISTER WEIGHTS (byte*) SCREEN3 (byte*) SCREEN4 (void()) main() -(signed byte~) main::$1 22.0 -(byte~) main::$3 22.0 (byte) main::b (byte) main::b#1 16.5 -(byte) main::b#2 9.428571428571429 +(byte) main::b#2 11.0 (byte) main::b2 (byte) main::b2#0 22.0 (signed byte) main::sb -(signed byte) main::sb#0 22.0 +(signed byte) main::sb#0 11.0 (void()) w() (byte) w::b (byte) w::b2 @@ -586,25 +583,19 @@ Initial phi equivalence classes [ main::b#2 main::b#1 ] [ w::i#2 w::i#1 ] Added variable main::b2#0 to zero page equivalence class [ main::b2#0 ] -Added variable main::$1 to zero page equivalence class [ main::$1 ] Added variable main::sb#0 to zero page equivalence class [ main::sb#0 ] -Added variable main::$3 to zero page equivalence class [ main::$3 ] Added variable w::b2#0 to zero page equivalence class [ w::b2#0 ] Complete equivalence classes [ main::b#2 main::b#1 ] [ w::i#2 w::i#1 ] [ main::b2#0 ] -[ main::$1 ] [ main::sb#0 ] -[ main::$3 ] [ w::b2#0 ] Allocated zp ZP_BYTE:2 [ main::b#2 main::b#1 ] Allocated zp ZP_BYTE:3 [ w::i#2 w::i#1 ] Allocated zp ZP_BYTE:4 [ main::b2#0 ] -Allocated zp ZP_BYTE:5 [ main::$1 ] -Allocated zp ZP_BYTE:6 [ main::sb#0 ] -Allocated zp ZP_BYTE:7 [ main::$3 ] -Allocated zp ZP_BYTE:8 [ w::b2#0 ] +Allocated zp ZP_BYTE:5 [ main::sb#0 ] +Allocated zp ZP_BYTE:6 [ w::b2#0 ] INITIAL ASM //SEG0 Basic Upstart @@ -634,10 +625,8 @@ bend_from_b2: bend: //SEG9 main main: { - .label _1 = 5 - .label _3 = 7 .label b2 = 4 - .label sb = 6 + .label sb = 5 .label b = 2 //SEG10 [5] phi from main to main::@1 [phi:main->main::@1] b1_from_main: @@ -660,116 +649,108 @@ main: { lda b2 ldy b sta SCREEN,y - //SEG17 [8] (signed byte~) main::$1 ← ((signed byte)) (byte) main::b#2 [ main::b#2 main::$1 ] ( main:2 [ main::b#2 main::$1 ] ) -- vbsz1=_sbyte_vbuz2 + //SEG17 [8] (signed byte) main::sb#0 ← - (signed byte)(byte) main::b#2 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) -- vbsz1=_neg_vbsz2 lda b - sta _1 - //SEG18 [9] (signed byte) main::sb#0 ← - (signed byte~) main::$1 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) -- vbsz1=_neg_vbsz2 - lda _1 eor #$ff clc adc #1 sta sb - //SEG19 [10] (byte~) main::$3 ← ((byte)) (signed byte) main::sb#0 [ main::b#2 main::$3 ] ( main:2 [ main::b#2 main::$3 ] ) -- vbuz1=_byte_vbsz2 + //SEG18 [9] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte)(signed byte) main::sb#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda sb - sta _3 - //SEG20 [11] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte~) main::$3 [ main::b#2 ] ( main:2 [ main::b#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 - lda _3 ldy b sta SCREEN2,y - //SEG21 [12] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG19 [10] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuz1=_inc_vbuz1 inc b - //SEG22 [13] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG20 [11] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda b cmp #$65 bne b1_from_b1 - //SEG23 [14] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + //SEG21 [12] phi from main::@1 to main::@2 [phi:main::@1->main::@2] b2_from_b1: jmp b2 - //SEG24 main::@2 + //SEG22 main::@2 b2: - //SEG25 [15] call w param-assignment [ ] ( main:2 [ ] ) - //SEG26 [17] phi from main::@2 to w [phi:main::@2->w] + //SEG23 [13] call w param-assignment [ ] ( main:2 [ ] ) + //SEG24 [15] phi from main::@2 to w [phi:main::@2->w] w_from_b2: jsr w jmp breturn - //SEG27 main::@return + //SEG25 main::@return breturn: - //SEG28 [16] return [ ] ( main:2 [ ] ) + //SEG26 [14] return [ ] ( main:2 [ ] ) rts } -//SEG29 w +//SEG27 w w: { .const w1 = $514 .const w2 = $4e2 .const b = w1-w2 - .label b2 = 8 + .label b2 = 6 .label i = 3 - //SEG30 [18] phi from w to w::@1 [phi:w->w::@1] + //SEG28 [16] phi from w to w::@1 [phi:w->w::@1] b1_from_w: - //SEG31 [18] phi (byte) w::i#2 = (byte/signed byte/word/signed word) 0 [phi:w->w::@1#0] -- vbuz1=vbuc1 + //SEG29 [16] phi (byte) w::i#2 = (byte/signed byte/word/signed word) 0 [phi:w->w::@1#0] -- vbuz1=vbuc1 lda #0 sta i jmp b1 - //SEG32 [18] phi from w::@1 to w::@1 [phi:w::@1->w::@1] + //SEG30 [16] phi from w::@1 to w::@1 [phi:w::@1->w::@1] b1_from_b1: - //SEG33 [18] phi (byte) w::i#2 = (byte) w::i#1 [phi:w::@1->w::@1#0] -- register_copy + //SEG31 [16] phi (byte) w::i#2 = (byte) w::i#1 [phi:w::@1->w::@1#0] -- register_copy jmp b1 - //SEG34 w::@1 + //SEG32 w::@1 b1: - //SEG35 [19] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) -- vbuz1=vbuc1_plus_vbuz2 + //SEG33 [17] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) -- vbuz1=vbuc1_plus_vbuz2 lda #$578-$546 clc adc i sta b2 - //SEG36 [20] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG34 [18] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 ldy i lda #b sta SCREEN3,y - //SEG37 [21] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG35 [19] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda b2 ldy i sta SCREEN4,y - //SEG38 [22] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG36 [20] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG39 [23] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG37 [21] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda i cmp #$b bne b1_from_b1 jmp breturn - //SEG40 w::@return + //SEG38 w::@return breturn: - //SEG41 [24] return [ ] ( main:2::w:15 [ ] ) + //SEG39 [22] return [ ] ( main:2::w:13 [ ] ) rts } REGISTER UPLIFT POTENTIAL REGISTERS Statement [6] (byte) main::b2#0 ← (byte/word/signed word) 200 - (byte) main::b#2 [ main::b#2 main::b2#0 ] ( main:2 [ main::b#2 main::b2#0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ main::b#2 main::b#1 ] -Statement [9] (signed byte) main::sb#0 ← - (signed byte~) main::$1 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) always clobbers reg byte a -Statement [19] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) always clobbers reg byte a +Statement [8] (signed byte) main::sb#0 ← - (signed byte)(byte) main::b#2 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) always clobbers reg byte a +Statement [17] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ w::i#2 w::i#1 ] -Statement [20] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ w::b2#0 ] -Statement [21] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) always clobbers reg byte a +Statement [18] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ w::b2#0 ] +Statement [19] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) always clobbers reg byte a Statement [6] (byte) main::b2#0 ← (byte/word/signed word) 200 - (byte) main::b#2 [ main::b#2 main::b2#0 ] ( main:2 [ main::b#2 main::b2#0 ] ) always clobbers reg byte a -Statement [9] (signed byte) main::sb#0 ← - (signed byte~) main::$1 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) always clobbers reg byte a -Statement [19] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) always clobbers reg byte a -Statement [20] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) always clobbers reg byte a -Statement [21] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) always clobbers reg byte a +Statement [8] (signed byte) main::sb#0 ← - (signed byte)(byte) main::b#2 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) always clobbers reg byte a +Statement [17] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) always clobbers reg byte a +Statement [18] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) always clobbers reg byte a +Statement [19] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ main::b#2 main::b#1 ] : zp ZP_BYTE:2 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:3 [ w::i#2 w::i#1 ] : zp ZP_BYTE:3 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:4 [ main::b2#0 ] : zp ZP_BYTE:4 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:5 [ main::$1 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:6 [ main::sb#0 ] : zp ZP_BYTE:6 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:7 [ main::$3 ] : zp ZP_BYTE:7 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:8 [ w::b2#0 ] : zp ZP_BYTE:8 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:5 [ main::sb#0 ] : zp ZP_BYTE:5 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:6 [ w::b2#0 ] : zp ZP_BYTE:6 , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 25.93: zp ZP_BYTE:2 [ main::b#2 main::b#1 ] 22: zp ZP_BYTE:4 [ main::b2#0 ] 22: zp ZP_BYTE:5 [ main::$1 ] 22: zp ZP_BYTE:6 [ main::sb#0 ] 22: zp ZP_BYTE:7 [ main::$3 ] -Uplift Scope [w] 30.25: zp ZP_BYTE:3 [ w::i#2 w::i#1 ] 11: zp ZP_BYTE:8 [ w::b2#0 ] +Uplift Scope [main] 27.5: zp ZP_BYTE:2 [ main::b#2 main::b#1 ] 22: zp ZP_BYTE:4 [ main::b2#0 ] 11: zp ZP_BYTE:5 [ main::sb#0 ] +Uplift Scope [w] 30.25: zp ZP_BYTE:3 [ w::i#2 w::i#1 ] 11: zp ZP_BYTE:6 [ w::b2#0 ] Uplift Scope [] -Uplifting [main] best 1016 combination reg byte x [ main::b#2 main::b#1 ] reg byte a [ main::b2#0 ] reg byte a [ main::$1 ] reg byte a [ main::sb#0 ] reg byte a [ main::$3 ] +Uplifting [main] best 1016 combination reg byte x [ main::b#2 main::b#1 ] reg byte a [ main::b2#0 ] reg byte a [ main::sb#0 ] Uplifting [w] best 836 combination reg byte y [ w::i#2 w::i#1 ] reg byte x [ w::b2#0 ] Uplifting [] best 836 combination @@ -819,71 +800,69 @@ main: { adc #$c8+1 //SEG16 [7] *((const byte*) SCREEN#0 + (byte) main::b#2) ← (byte) main::b2#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN,x - //SEG17 [8] (signed byte~) main::$1 ← ((signed byte)) (byte) main::b#2 [ main::b#2 main::$1 ] ( main:2 [ main::b#2 main::$1 ] ) -- vbsaa=_sbyte_vbuxx + //SEG17 [8] (signed byte) main::sb#0 ← - (signed byte)(byte) main::b#2 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) -- vbsaa=_neg_vbsxx txa - //SEG18 [9] (signed byte) main::sb#0 ← - (signed byte~) main::$1 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) -- vbsaa=_neg_vbsaa eor #$ff clc adc #1 - //SEG19 [10] (byte~) main::$3 ← ((byte)) (signed byte) main::sb#0 [ main::b#2 main::$3 ] ( main:2 [ main::b#2 main::$3 ] ) -- vbuaa=_byte_vbsaa - //SEG20 [11] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte~) main::$3 [ main::b#2 ] ( main:2 [ main::b#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG18 [9] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte)(signed byte) main::sb#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN2,x - //SEG21 [12] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuxx=_inc_vbuxx + //SEG19 [10] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG22 [13] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG20 [11] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$65 bne b1_from_b1 - //SEG23 [14] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + //SEG21 [12] phi from main::@1 to main::@2 [phi:main::@1->main::@2] b2_from_b1: jmp b2 - //SEG24 main::@2 + //SEG22 main::@2 b2: - //SEG25 [15] call w param-assignment [ ] ( main:2 [ ] ) - //SEG26 [17] phi from main::@2 to w [phi:main::@2->w] + //SEG23 [13] call w param-assignment [ ] ( main:2 [ ] ) + //SEG24 [15] phi from main::@2 to w [phi:main::@2->w] w_from_b2: jsr w jmp breturn - //SEG27 main::@return + //SEG25 main::@return breturn: - //SEG28 [16] return [ ] ( main:2 [ ] ) + //SEG26 [14] return [ ] ( main:2 [ ] ) rts } -//SEG29 w +//SEG27 w w: { .const w1 = $514 .const w2 = $4e2 .const b = w1-w2 - //SEG30 [18] phi from w to w::@1 [phi:w->w::@1] + //SEG28 [16] phi from w to w::@1 [phi:w->w::@1] b1_from_w: - //SEG31 [18] phi (byte) w::i#2 = (byte/signed byte/word/signed word) 0 [phi:w->w::@1#0] -- vbuyy=vbuc1 + //SEG29 [16] phi (byte) w::i#2 = (byte/signed byte/word/signed word) 0 [phi:w->w::@1#0] -- vbuyy=vbuc1 ldy #0 jmp b1 - //SEG32 [18] phi from w::@1 to w::@1 [phi:w::@1->w::@1] + //SEG30 [16] phi from w::@1 to w::@1 [phi:w::@1->w::@1] b1_from_b1: - //SEG33 [18] phi (byte) w::i#2 = (byte) w::i#1 [phi:w::@1->w::@1#0] -- register_copy + //SEG31 [16] phi (byte) w::i#2 = (byte) w::i#1 [phi:w::@1->w::@1#0] -- register_copy jmp b1 - //SEG34 w::@1 + //SEG32 w::@1 b1: - //SEG35 [19] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) -- vbuxx=vbuc1_plus_vbuyy + //SEG33 [17] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) -- vbuxx=vbuc1_plus_vbuyy tya clc adc #$578-$546 tax - //SEG36 [20] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) -- pbuc1_derefidx_vbuyy=vbuc2 + //SEG34 [18] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) -- pbuc1_derefidx_vbuyy=vbuc2 lda #b sta SCREEN3,y - //SEG37 [21] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) -- pbuc1_derefidx_vbuyy=vbuxx + //SEG35 [19] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) -- pbuc1_derefidx_vbuyy=vbuxx txa sta SCREEN4,y - //SEG38 [22] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) -- vbuyy=_inc_vbuyy + //SEG36 [20] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG39 [23] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) -- vbuyy_neq_vbuc1_then_la1 + //SEG37 [21] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) -- vbuyy_neq_vbuc1_then_la1 cpy #$b bne b1_from_b1 jmp breturn - //SEG40 w::@return + //SEG38 w::@return breturn: - //SEG41 [24] return [ ] ( main:2::w:15 [ ] ) + //SEG39 [22] return [ ] ( main:2::w:13 [ ] ) rts } @@ -932,18 +911,16 @@ FINAL SYMBOL TABLE (byte*) SCREEN4 (const byte*) SCREEN4#0 SCREEN4 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word) 40*(byte/signed byte/word/signed word) 9 (void()) main() -(signed byte~) main::$1 reg byte a 22.0 -(byte~) main::$3 reg byte a 22.0 (label) main::@1 (label) main::@2 (label) main::@return (byte) main::b (byte) main::b#1 reg byte x 16.5 -(byte) main::b#2 reg byte x 9.428571428571429 +(byte) main::b#2 reg byte x 11.0 (byte) main::b2 (byte) main::b2#0 reg byte a 22.0 (signed byte) main::sb -(signed byte) main::sb#0 reg byte a 22.0 +(signed byte) main::sb#0 reg byte a 11.0 (void()) w() (label) w::@1 (label) w::@return @@ -962,9 +939,7 @@ FINAL SYMBOL TABLE reg byte x [ main::b#2 main::b#1 ] reg byte y [ w::i#2 w::i#1 ] reg byte a [ main::b2#0 ] -reg byte a [ main::$1 ] reg byte a [ main::sb#0 ] -reg byte a [ main::$3 ] reg byte x [ w::b2#0 ] @@ -1004,59 +979,57 @@ main: { adc #$c8+1 //SEG16 [7] *((const byte*) SCREEN#0 + (byte) main::b#2) ← (byte) main::b2#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN,x - //SEG17 [8] (signed byte~) main::$1 ← ((signed byte)) (byte) main::b#2 [ main::b#2 main::$1 ] ( main:2 [ main::b#2 main::$1 ] ) -- vbsaa=_sbyte_vbuxx + //SEG17 [8] (signed byte) main::sb#0 ← - (signed byte)(byte) main::b#2 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) -- vbsaa=_neg_vbsxx txa - //SEG18 [9] (signed byte) main::sb#0 ← - (signed byte~) main::$1 [ main::b#2 main::sb#0 ] ( main:2 [ main::b#2 main::sb#0 ] ) -- vbsaa=_neg_vbsaa eor #$ff clc adc #1 - //SEG19 [10] (byte~) main::$3 ← ((byte)) (signed byte) main::sb#0 [ main::b#2 main::$3 ] ( main:2 [ main::b#2 main::$3 ] ) -- vbuaa=_byte_vbsaa - //SEG20 [11] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte~) main::$3 [ main::b#2 ] ( main:2 [ main::b#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG18 [9] *((const byte*) SCREEN2#0 + (byte) main::b#2) ← (byte)(signed byte) main::sb#0 [ main::b#2 ] ( main:2 [ main::b#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN2,x - //SEG21 [12] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuxx=_inc_vbuxx + //SEG19 [10] (byte) main::b#1 ← ++ (byte) main::b#2 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG22 [13] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG20 [11] if((byte) main::b#1!=(byte/signed byte/word/signed word) 101) goto main::@1 [ main::b#1 ] ( main:2 [ main::b#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$65 bne b1 - //SEG23 [14] phi from main::@1 to main::@2 [phi:main::@1->main::@2] - //SEG24 main::@2 - //SEG25 [15] call w param-assignment [ ] ( main:2 [ ] ) - //SEG26 [17] phi from main::@2 to w [phi:main::@2->w] + //SEG21 [12] phi from main::@1 to main::@2 [phi:main::@1->main::@2] + //SEG22 main::@2 + //SEG23 [13] call w param-assignment [ ] ( main:2 [ ] ) + //SEG24 [15] phi from main::@2 to w [phi:main::@2->w] jsr w - //SEG27 main::@return - //SEG28 [16] return [ ] ( main:2 [ ] ) + //SEG25 main::@return + //SEG26 [14] return [ ] ( main:2 [ ] ) rts } -//SEG29 w +//SEG27 w w: { .const w1 = $514 .const w2 = $4e2 .const b = w1-w2 - //SEG30 [18] phi from w to w::@1 [phi:w->w::@1] - //SEG31 [18] phi (byte) w::i#2 = (byte/signed byte/word/signed word) 0 [phi:w->w::@1#0] -- vbuyy=vbuc1 + //SEG28 [16] phi from w to w::@1 [phi:w->w::@1] + //SEG29 [16] phi (byte) w::i#2 = (byte/signed byte/word/signed word) 0 [phi:w->w::@1#0] -- vbuyy=vbuc1 ldy #0 - //SEG32 [18] phi from w::@1 to w::@1 [phi:w::@1->w::@1] - //SEG33 [18] phi (byte) w::i#2 = (byte) w::i#1 [phi:w::@1->w::@1#0] -- register_copy - //SEG34 w::@1 + //SEG30 [16] phi from w::@1 to w::@1 [phi:w::@1->w::@1] + //SEG31 [16] phi (byte) w::i#2 = (byte) w::i#1 [phi:w::@1->w::@1#0] -- register_copy + //SEG32 w::@1 b1: - //SEG35 [19] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) -- vbuxx=vbuc1_plus_vbuyy + //SEG33 [17] (byte) w::b2#0 ← (word/signed word) 1400-(word/signed word) 1350 + (byte) w::i#2 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) -- vbuxx=vbuc1_plus_vbuyy tya clc adc #$578-$546 tax - //SEG36 [20] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:15 [ w::i#2 w::b2#0 ] ) -- pbuc1_derefidx_vbuyy=vbuc2 + //SEG34 [18] *((const byte*) SCREEN3#0 + (byte) w::i#2) ← (const byte) w::b#0 [ w::i#2 w::b2#0 ] ( main:2::w:13 [ w::i#2 w::b2#0 ] ) -- pbuc1_derefidx_vbuyy=vbuc2 lda #b sta SCREEN3,y - //SEG37 [21] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:15 [ w::i#2 ] ) -- pbuc1_derefidx_vbuyy=vbuxx + //SEG35 [19] *((const byte*) SCREEN4#0 + (byte) w::i#2) ← (byte) w::b2#0 [ w::i#2 ] ( main:2::w:13 [ w::i#2 ] ) -- pbuc1_derefidx_vbuyy=vbuxx txa sta SCREEN4,y - //SEG38 [22] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) -- vbuyy=_inc_vbuyy + //SEG36 [20] (byte) w::i#1 ← ++ (byte) w::i#2 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG39 [23] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:15 [ w::i#1 ] ) -- vbuyy_neq_vbuc1_then_la1 + //SEG37 [21] if((byte) w::i#1!=(byte/signed byte/word/signed word) 11) goto w::@1 [ w::i#1 ] ( main:2::w:13 [ w::i#1 ] ) -- vbuyy_neq_vbuc1_then_la1 cpy #$b bne b1 - //SEG40 w::@return - //SEG41 [24] return [ ] ( main:2::w:15 [ ] ) + //SEG38 w::@return + //SEG39 [22] return [ ] ( main:2::w:13 [ ] ) rts } diff --git a/src/test/java/dk/camelot64/kickc/test/ref/casting.sym b/src/test/java/dk/camelot64/kickc/test/ref/casting.sym index aa2806137..4ba9f8f00 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/casting.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/casting.sym @@ -10,18 +10,16 @@ (byte*) SCREEN4 (const byte*) SCREEN4#0 SCREEN4 = (const byte*) SCREEN#0+(byte/signed byte/word/signed word) 40*(byte/signed byte/word/signed word) 9 (void()) main() -(signed byte~) main::$1 reg byte a 22.0 -(byte~) main::$3 reg byte a 22.0 (label) main::@1 (label) main::@2 (label) main::@return (byte) main::b (byte) main::b#1 reg byte x 16.5 -(byte) main::b#2 reg byte x 9.428571428571429 +(byte) main::b#2 reg byte x 11.0 (byte) main::b2 (byte) main::b2#0 reg byte a 22.0 (signed byte) main::sb -(signed byte) main::sb#0 reg byte a 22.0 +(signed byte) main::sb#0 reg byte a 11.0 (void()) w() (label) w::@1 (label) w::@return @@ -40,7 +38,5 @@ reg byte x [ main::b#2 main::b#1 ] reg byte y [ w::i#2 w::i#1 ] reg byte a [ main::b2#0 ] -reg byte a [ main::$1 ] reg byte a [ main::sb#0 ] -reg byte a [ main::$3 ] reg byte x [ w::b2#0 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.cfg b/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.cfg index 8a2100de2..3e8a53c4d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.cfg @@ -19,8 +19,7 @@ main::@return: scope:[main] from main::@1 [7] return [ ] ( main:2 [ ] ) to:@return main::@2: scope:[main] from main::@1 - [8] (byte~) main::$2 ← ((byte)) (signed byte) main::i#2 [ main::i#2 main::j#2 main::$2 ] ( main:2 [ main::i#2 main::j#2 main::$2 ] ) - [9] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte~) main::$2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) - [10] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) - [11] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) + [8] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte)(signed byte) main::i#2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) + [9] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) + [10] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) to:main::@1 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.log b/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.log index c5a18c355..6e7a332b8 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.log @@ -174,6 +174,8 @@ Constant (const byte*) main::screen#0 = ((byte*))1024 Constant (const byte) main::j#0 = 0 Constant (const signed byte) main::i#0 = -127 Succesful SSA optimization Pass2ConstantIdentification +Eliminating Noop Cast (byte~) main::$2 ← ((byte)) (signed byte) main::i#2 +Succesful SSA optimization Pass2NopCastElimination OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const byte) main::j#0 Inlining constant with var siblings (const byte) main::j#0 @@ -194,10 +196,9 @@ Calls in [] to main:2 Propagating live ranges... Propagating live ranges... Propagating live ranges... -Propagating live ranges... Created 2 initial phi equivalence classes -Coalesced [12] main::i#4 ← main::i#1 -Coalesced [13] main::j#4 ← main::j#1 +Coalesced [11] main::i#4 ← main::i#1 +Coalesced [12] main::j#4 ← main::j#1 Coalesced down to 2 phi equivalence classes Block Sequence Planned @begin @1 @end main main::@1 main::@return main::@2 Adding NOP phi() at start of @begin @@ -207,7 +208,6 @@ Adding NOP phi() at start of main Propagating live ranges... Propagating live ranges... Propagating live ranges... -Propagating live ranges... FINAL CONTROL FLOW GRAPH @begin: scope:[] from @@ -231,10 +231,9 @@ main::@return: scope:[main] from main::@1 [7] return [ ] ( main:2 [ ] ) to:@return main::@2: scope:[main] from main::@1 - [8] (byte~) main::$2 ← ((byte)) (signed byte) main::i#2 [ main::i#2 main::j#2 main::$2 ] ( main:2 [ main::i#2 main::j#2 main::$2 ] ) - [9] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte~) main::$2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) - [10] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) - [11] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) + [8] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte)(signed byte) main::i#2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) + [9] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) + [10] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) to:main::@1 DOMINATORS @@ -260,26 +259,22 @@ Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 depth: 1 VARIABLE REGISTER WEIGHTS (void()) main() -(byte~) main::$2 22.0 (signed byte) main::i (signed byte) main::i#1 11.0 (signed byte) main::i#2 11.0 (byte) main::j (byte) main::j#1 22.0 -(byte) main::j#2 6.6000000000000005 +(byte) main::j#2 8.25 (byte*) main::screen Initial phi equivalence classes [ main::i#2 main::i#1 ] [ main::j#2 main::j#1 ] -Added variable main::$2 to zero page equivalence class [ main::$2 ] Complete equivalence classes [ main::i#2 main::i#1 ] [ main::j#2 main::j#1 ] -[ main::$2 ] Allocated zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Allocated zp ZP_BYTE:3 [ main::j#2 main::j#1 ] -Allocated zp ZP_BYTE:4 [ main::$2 ] INITIAL ASM //SEG0 Basic Upstart @@ -306,7 +301,6 @@ bend: //SEG9 main main: { .const screen = $400 - .label _2 = 4 .label i = 2 .label j = 3 //SEG10 [5] phi from main to main::@1 [phi:main->main::@1] @@ -335,21 +329,18 @@ main: { rts //SEG17 main::@2 b2: - //SEG18 [8] (byte~) main::$2 ← ((byte)) (signed byte) main::i#2 [ main::i#2 main::j#2 main::$2 ] ( main:2 [ main::i#2 main::j#2 main::$2 ] ) -- vbuz1=_byte_vbsz2 + //SEG18 [8] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte)(signed byte) main::i#2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda i - sta _2 - //SEG19 [9] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte~) main::$2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 - lda _2 ldy j sta screen,y - //SEG20 [10] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) -- vbsz1=_inc_vbsz1 + //SEG19 [9] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) -- vbsz1=_inc_vbsz1 inc i - //SEG21 [11] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG20 [10] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) -- vbuz1=_inc_vbuz1 inc j - //SEG22 [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] + //SEG21 [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] b1_from_b2: - //SEG23 [5] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@2->main::@1#0] -- register_copy - //SEG24 [5] phi (signed byte) main::i#2 = (signed byte) main::i#1 [phi:main::@2->main::@1#1] -- register_copy + //SEG22 [5] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@2->main::@1#0] -- register_copy + //SEG23 [5] phi (signed byte) main::i#2 = (signed byte) main::i#1 [phi:main::@2->main::@1#1] -- register_copy jmp b1 } @@ -357,16 +348,17 @@ REGISTER UPLIFT POTENTIAL REGISTERS Statement [6] if((signed byte) main::i#2<(byte/signed byte/word/signed word) 127) goto main::@2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ main::j#2 main::j#1 ] +Statement [8] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte)(signed byte) main::i#2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) always clobbers reg byte a Statement [6] if((signed byte) main::i#2<(byte/signed byte/word/signed word) 127) goto main::@2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) always clobbers reg byte a +Statement [8] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte)(signed byte) main::i#2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ main::i#2 main::i#1 ] : zp ZP_BYTE:2 , reg byte x , reg byte y , Potential registers zp ZP_BYTE:3 [ main::j#2 main::j#1 ] : zp ZP_BYTE:3 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:4 [ main::$2 ] : zp ZP_BYTE:4 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 28.6: zp ZP_BYTE:3 [ main::j#2 main::j#1 ] 22: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] 22: zp ZP_BYTE:4 [ main::$2 ] +Uplift Scope [main] 30.25: zp ZP_BYTE:3 [ main::j#2 main::j#1 ] 22: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Uplift Scope [] -Uplifting [main] best 388 combination reg byte y [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$2 ] +Uplifting [main] best 388 combination reg byte y [ main::j#2 main::j#1 ] reg byte x [ main::i#2 main::i#1 ] Uplifting [] best 388 combination ASSEMBLER BEFORE OPTIMIZATION @@ -418,18 +410,17 @@ main: { rts //SEG17 main::@2 b2: - //SEG18 [8] (byte~) main::$2 ← ((byte)) (signed byte) main::i#2 [ main::i#2 main::j#2 main::$2 ] ( main:2 [ main::i#2 main::j#2 main::$2 ] ) -- vbuaa=_byte_vbsxx + //SEG18 [8] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte)(signed byte) main::i#2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) -- pbuc1_derefidx_vbuyy=vbuxx txa - //SEG19 [9] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte~) main::$2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) -- pbuc1_derefidx_vbuyy=vbuaa sta screen,y - //SEG20 [10] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) -- vbsxx=_inc_vbsxx + //SEG19 [9] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) -- vbsxx=_inc_vbsxx inx - //SEG21 [11] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) -- vbuyy=_inc_vbuyy + //SEG20 [10] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG22 [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] + //SEG21 [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] b1_from_b2: - //SEG23 [5] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@2->main::@1#0] -- register_copy - //SEG24 [5] phi (signed byte) main::i#2 = (signed byte) main::i#1 [phi:main::@2->main::@1#1] -- register_copy + //SEG22 [5] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@2->main::@1#0] -- register_copy + //SEG23 [5] phi (signed byte) main::i#2 = (signed byte) main::i#1 [phi:main::@2->main::@1#1] -- register_copy jmp b1 } @@ -456,7 +447,6 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (void()) main() -(byte~) main::$2 reg byte a 22.0 (label) main::@1 (label) main::@2 (label) main::@return @@ -465,13 +455,12 @@ FINAL SYMBOL TABLE (signed byte) main::i#2 reg byte x 11.0 (byte) main::j (byte) main::j#1 reg byte y 22.0 -(byte) main::j#2 reg byte y 6.6000000000000005 +(byte) main::j#2 reg byte y 8.25 (byte*) main::screen (const byte*) main::screen#0 screen = ((byte*))(word/signed word) 1024 reg byte x [ main::i#2 main::i#1 ] reg byte y [ main::j#2 main::j#1 ] -reg byte a [ main::$2 ] FINAL ASSEMBLER @@ -513,17 +502,16 @@ main: { rts //SEG17 main::@2 b2: - //SEG18 [8] (byte~) main::$2 ← ((byte)) (signed byte) main::i#2 [ main::i#2 main::j#2 main::$2 ] ( main:2 [ main::i#2 main::j#2 main::$2 ] ) -- vbuaa=_byte_vbsxx + //SEG18 [8] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte)(signed byte) main::i#2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) -- pbuc1_derefidx_vbuyy=vbuxx txa - //SEG19 [9] *((const byte*) main::screen#0 + (byte) main::j#2) ← (byte~) main::$2 [ main::i#2 main::j#2 ] ( main:2 [ main::i#2 main::j#2 ] ) -- pbuc1_derefidx_vbuyy=vbuaa sta screen,y - //SEG20 [10] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) -- vbsxx=_inc_vbsxx + //SEG19 [9] (signed byte) main::i#1 ← ++ (signed byte) main::i#2 [ main::j#2 main::i#1 ] ( main:2 [ main::j#2 main::i#1 ] ) -- vbsxx=_inc_vbsxx inx - //SEG21 [11] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) -- vbuyy=_inc_vbuyy + //SEG20 [10] (byte) main::j#1 ← ++ (byte) main::j#2 [ main::i#1 main::j#1 ] ( main:2 [ main::i#1 main::j#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG22 [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] - //SEG23 [5] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@2->main::@1#0] -- register_copy - //SEG24 [5] phi (signed byte) main::i#2 = (signed byte) main::i#1 [phi:main::@2->main::@1#1] -- register_copy + //SEG21 [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] + //SEG22 [5] phi (byte) main::j#2 = (byte) main::j#1 [phi:main::@2->main::@1#0] -- register_copy + //SEG23 [5] phi (signed byte) main::i#2 = (signed byte) main::i#1 [phi:main::@2->main::@1#1] -- register_copy jmp b1 } diff --git a/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.sym b/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.sym index 337ba0e73..242f15e4f 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/signed-bytes.sym @@ -2,7 +2,6 @@ (label) @begin (label) @end (void()) main() -(byte~) main::$2 reg byte a 22.0 (label) main::@1 (label) main::@2 (label) main::@return @@ -11,10 +10,9 @@ (signed byte) main::i#2 reg byte x 11.0 (byte) main::j (byte) main::j#1 reg byte y 22.0 -(byte) main::j#2 reg byte y 6.6000000000000005 +(byte) main::j#2 reg byte y 8.25 (byte*) main::screen (const byte*) main::screen#0 screen = ((byte*))(word/signed word) 1024 reg byte x [ main::i#2 main::i#1 ] reg byte y [ main::j#2 main::j#1 ] -reg byte a [ main::$2 ] diff --git a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.asm b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.asm index 838187637..09991054a 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.asm @@ -239,29 +239,26 @@ print_sbyte: { rts } signed_multiply: { - .label _13 = $e .label m = 6 - .label return = 6 .label b = 3 + .label return = 6 tya ldx b jsr multiply cpy #0 bpl b1 lda m+1 - ldx b - stx $ff sec - sbc $ff + sbc b sta m+1 b1: lda b cmp #0 bpl b2 lda m+1 - sty _13 + sty $ff sec - sbc _13 + sbc $ff sta m+1 b2: rts diff --git a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.cfg b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.cfg index ed241db19..f38af92cc 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.cfg @@ -51,8 +51,8 @@ signed_multiply_results_compare::@8: scope:[signed_multiply_results_compare] fr [24] (signed word) signed_multiply_results_compare::ms#0 ← (signed word) slow_signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 ] ) [25] (signed byte) signed_multiply::a#0 ← (signed byte) signed_multiply_results_compare::a#6 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 line_cursor#1 ] ) [26] (signed byte) signed_multiply::b#0 ← (signed byte) signed_multiply_results_compare::b#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ) - [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ) - [28] (signed word) signed_multiply::return#2 ← (signed word) signed_multiply::return#0 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) + [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ) + [28] (signed word) signed_multiply::return#2 ← (signed word)(word) signed_multiply::m#4 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) to:signed_multiply_results_compare::@9 signed_multiply_results_compare::@9: scope:[signed_multiply_results_compare] from signed_multiply_results_compare::@8 [29] (signed word) signed_multiply_results_compare::ma#0 ← (signed word) signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) @@ -86,33 +86,33 @@ signed_multiply_results_compare::@11: scope:[signed_multiply_results_compare] f [45] call print_ln param-assignment [ ] ( main:2::signed_multiply_results_compare:15 [ ] ) to:signed_multiply_results_compare::@return print_ln: scope:[print_ln] from multiply_error::@8 multiply_results_compare::@11 multiply_tables_compare::@10 signed_multiply_error::@8 signed_multiply_results_compare::@11 - [46] (byte*) char_cursor#118 ← phi( multiply_error::@8/(byte*) char_cursor#17 multiply_results_compare::@11/(byte*) char_cursor#117 multiply_tables_compare::@10/(byte*) char_cursor#117 signed_multiply_error::@8/(byte*) char_cursor#17 signed_multiply_results_compare::@11/(byte*) char_cursor#117 ) [ line_cursor#40 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#40 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#40 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#40 char_cursor#118 ] ) - [46] (byte*) line_cursor#40 ← phi( multiply_error::@8/(byte*) line_cursor#27 multiply_results_compare::@11/(byte*) line_cursor#27 multiply_tables_compare::@10/((byte*))(word/signed word) 1024 signed_multiply_error::@8/(byte*) line_cursor#1 signed_multiply_results_compare::@11/(byte*) line_cursor#1 ) [ line_cursor#40 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#40 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#40 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#40 char_cursor#118 ] ) + [46] (byte*) char_cursor#118 ← phi( multiply_error::@8/(byte*) char_cursor#17 multiply_results_compare::@11/(byte*) char_cursor#117 multiply_tables_compare::@10/(byte*) char_cursor#117 signed_multiply_error::@8/(byte*) char_cursor#17 signed_multiply_results_compare::@11/(byte*) char_cursor#117 ) [ line_cursor#40 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#40 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#40 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#40 char_cursor#118 ] ) + [46] (byte*) line_cursor#40 ← phi( multiply_error::@8/(byte*) line_cursor#27 multiply_results_compare::@11/(byte*) line_cursor#27 multiply_tables_compare::@10/((byte*))(word/signed word) 1024 signed_multiply_error::@8/(byte*) line_cursor#1 signed_multiply_results_compare::@11/(byte*) line_cursor#1 ) [ line_cursor#40 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#40 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#40 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#40 char_cursor#118 ] ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [47] (byte*) line_cursor#20 ← phi( print_ln/(byte*) line_cursor#40 print_ln::@1/(byte*) line_cursor#1 ) [ char_cursor#118 line_cursor#20 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ char_cursor#118 line_cursor#20 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ char_cursor#118 line_cursor#20 ] main:2::multiply_results_compare:13::print_ln:178 [ char_cursor#118 line_cursor#20 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ char_cursor#118 line_cursor#20 ] main:2::multiply_tables_compare:11::print_ln:224 [ char_cursor#118 line_cursor#20 ] ) - [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) - [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) + [47] (byte*) line_cursor#20 ← phi( print_ln/(byte*) line_cursor#40 print_ln::@1/(byte*) line_cursor#1 ) [ char_cursor#118 line_cursor#20 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ char_cursor#118 line_cursor#20 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ char_cursor#118 line_cursor#20 ] main:2::multiply_results_compare:13::print_ln:175 [ char_cursor#118 line_cursor#20 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ char_cursor#118 line_cursor#20 ] main:2::multiply_tables_compare:11::print_ln:221 [ char_cursor#118 line_cursor#20 ] ) + [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) + [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 ] ) + [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 ] ) to:@return print_str: scope:[print_str] from multiply_error multiply_error::@2 multiply_error::@4 multiply_error::@6 multiply_results_compare::@7 multiply_tables_compare::@3 multiply_tables_compare::@5 multiply_tables_compare::@7 signed_multiply_error signed_multiply_error::@2 signed_multiply_error::@4 signed_multiply_error::@6 signed_multiply_results_compare::@7 - [51] (byte*) char_cursor#135 ← phi( multiply_error/(byte*) char_cursor#27 multiply_error::@2/(byte*) char_cursor#17 multiply_error::@4/(byte*) char_cursor#17 multiply_error::@6/(byte*) char_cursor#17 multiply_results_compare::@7/(byte*) char_cursor#27 multiply_tables_compare::@3/((byte*))(word/signed word) 1024 multiply_tables_compare::@5/((byte*))(word/signed word) 1024 multiply_tables_compare::@7/(byte*) char_cursor#17 signed_multiply_error/(byte*~) char_cursor#172 signed_multiply_error::@2/(byte*) char_cursor#17 signed_multiply_error::@4/(byte*) char_cursor#17 signed_multiply_error::@6/(byte*) char_cursor#17 signed_multiply_results_compare::@7/(byte*~) char_cursor#176 ) [ print_str::str#16 char_cursor#135 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#16 char_cursor#135 ] ) - [51] (byte*) print_str::str#16 ← phi( multiply_error/(const string) multiply_error::str multiply_error::@2/(const string) multiply_error::str1 multiply_error::@4/(const string) multiply_error::str2 multiply_error::@6/(const string) multiply_error::str3 multiply_results_compare::@7/(const string) multiply_results_compare::str multiply_tables_compare::@3/(const string) multiply_tables_compare::str multiply_tables_compare::@5/(const string) multiply_tables_compare::str2 multiply_tables_compare::@7/(const string) multiply_tables_compare::str1 signed_multiply_error/(const string) signed_multiply_error::str signed_multiply_error::@2/(const string) signed_multiply_error::str1 signed_multiply_error::@4/(const string) signed_multiply_error::str2 signed_multiply_error::@6/(const string) signed_multiply_error::str3 signed_multiply_results_compare::@7/(const string) signed_multiply_results_compare::str ) [ print_str::str#16 char_cursor#135 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#16 char_cursor#135 ] ) + [51] (byte*) char_cursor#135 ← phi( multiply_error/(byte*) char_cursor#27 multiply_error::@2/(byte*) char_cursor#17 multiply_error::@4/(byte*) char_cursor#17 multiply_error::@6/(byte*) char_cursor#17 multiply_results_compare::@7/(byte*) char_cursor#27 multiply_tables_compare::@3/((byte*))(word/signed word) 1024 multiply_tables_compare::@5/((byte*))(word/signed word) 1024 multiply_tables_compare::@7/(byte*) char_cursor#17 signed_multiply_error/(byte*~) char_cursor#172 signed_multiply_error::@2/(byte*) char_cursor#17 signed_multiply_error::@4/(byte*) char_cursor#17 signed_multiply_error::@6/(byte*) char_cursor#17 signed_multiply_results_compare::@7/(byte*~) char_cursor#176 ) [ print_str::str#16 char_cursor#135 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#16 char_cursor#135 ] ) + [51] (byte*) print_str::str#16 ← phi( multiply_error/(const string) multiply_error::str multiply_error::@2/(const string) multiply_error::str1 multiply_error::@4/(const string) multiply_error::str2 multiply_error::@6/(const string) multiply_error::str3 multiply_results_compare::@7/(const string) multiply_results_compare::str multiply_tables_compare::@3/(const string) multiply_tables_compare::str multiply_tables_compare::@5/(const string) multiply_tables_compare::str2 multiply_tables_compare::@7/(const string) multiply_tables_compare::str1 signed_multiply_error/(const string) signed_multiply_error::str signed_multiply_error::@2/(const string) signed_multiply_error::str1 signed_multiply_error::@4/(const string) signed_multiply_error::str2 signed_multiply_error::@6/(const string) signed_multiply_error::str3 signed_multiply_results_compare::@7/(const string) signed_multiply_results_compare::str ) [ print_str::str#16 char_cursor#135 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#16 char_cursor#135 ] ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 - [52] (byte*) char_cursor#117 ← phi( print_str/(byte*) char_cursor#135 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) - [52] (byte*) print_str::str#14 ← phi( print_str/(byte*) print_str::str#16 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) - [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) + [52] (byte*) char_cursor#117 ← phi( print_str/(byte*) char_cursor#135 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) + [52] (byte*) print_str::str#14 ← phi( print_str/(byte*) print_str::str#16 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) + [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) to:print_str::@return print_str::@return: scope:[print_str] from print_str::@1 - [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 ] ) + [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 ] ) to:@return print_str::@2: scope:[print_str] from print_str::@1 - [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) - [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#14 char_cursor#1 ] ) - [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#0 char_cursor#1 ] ) + [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) + [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#14 char_cursor#1 ] ) + [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#0 char_cursor#1 ] ) to:print_str::@1 signed_multiply_error: scope:[signed_multiply_error] from signed_multiply_results_compare::@4 [58] (byte*~) char_cursor#172 ← (byte*) line_cursor#1 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#172 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#172 ] ) @@ -167,48 +167,48 @@ print_sword::@4: scope:[print_sword] from print_sword::@2 print_sword::@1: scope:[print_sword] from print_sword print_sword::@4 [82] (byte*) char_cursor#119 ← phi( print_sword/(byte*) char_cursor#117 print_sword::@4/(byte*) char_cursor#17 ) [ print_sword::w#4 char_cursor#119 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#4 char_cursor#119 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 print_sword::w#4 char_cursor#119 ] ) [82] (signed word) print_sword::w#4 ← phi( print_sword/(signed word) print_sword::w#3 print_sword::@4/(signed word) print_sword::w#0 ) [ print_sword::w#4 char_cursor#119 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#4 char_cursor#119 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 print_sword::w#4 char_cursor#119 ] ) - [83] (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 [ char_cursor#119 print_word::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#0 ] ) + [83] (word~) print_word::w#11 ← (word)(signed word) print_sword::w#4 [ char_cursor#119 print_word::w#11 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#11 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#11 ] ) [84] call print_word param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 ] ) to:print_sword::@return print_sword::@return: scope:[print_sword] from print_sword::@1 [85] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 ] ) to:@return print_word: scope:[print_word] from multiply_error::@5 multiply_error::@7 multiply_tables_compare::@6 multiply_tables_compare::@8 print_sword::@1 - [86] (byte*) char_cursor#123 ← phi( multiply_error::@5/(byte*) char_cursor#117 multiply_error::@7/(byte*) char_cursor#117 multiply_tables_compare::@6/(byte*) char_cursor#117 multiply_tables_compare::@8/(byte*) char_cursor#117 print_sword::@1/(byte*) char_cursor#119 ) [ print_word::w#5 char_cursor#123 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 ] ) - [86] (word) print_word::w#5 ← phi( multiply_error::@5/(word) print_word::w#3 multiply_error::@7/(word) print_word::w#4 multiply_tables_compare::@6/(word) print_word::w#1 multiply_tables_compare::@8/(word) print_word::w#2 print_sword::@1/(word) print_word::w#0 ) [ print_word::w#5 char_cursor#123 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 ] ) - [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) - [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_word::w#5 ] ) + [86] (byte*) char_cursor#123 ← phi( multiply_error::@5/(byte*) char_cursor#117 multiply_error::@7/(byte*) char_cursor#117 multiply_tables_compare::@6/(byte*) char_cursor#117 multiply_tables_compare::@8/(byte*) char_cursor#117 print_sword::@1/(byte*) char_cursor#119 ) [ print_word::w#5 char_cursor#123 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 ] ) + [86] (word) print_word::w#5 ← phi( multiply_error::@5/(word) print_word::w#3 multiply_error::@7/(word) print_word::w#4 multiply_tables_compare::@6/(word) print_word::w#1 multiply_tables_compare::@8/(word) print_word::w#2 print_sword::@1/(word~) print_word::w#11 ) [ print_word::w#5 char_cursor#123 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 ] ) + [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) + [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_word::w#5 ] ) to:print_word::@1 print_word::@1: scope:[print_word] from print_word - [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_byte::b#2 ] ) - [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_byte::b#2 ] ) + [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) to:print_word::@return print_word::@return: scope:[print_word] from print_word::@1 - [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) to:@return print_byte: scope:[print_byte] from multiply_error::@1 multiply_error::@3 print_sbyte::@1 print_word print_word::@1 - [92] (byte*) char_cursor#124 ← phi( multiply_error::@1/(byte*) char_cursor#117 multiply_error::@3/(byte*) char_cursor#117 print_sbyte::@1/(byte*) char_cursor#121 print_word/(byte*) char_cursor#123 print_word::@1/(byte*) char_cursor#17 ) [ print_byte::b#5 char_cursor#124 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] ) - [92] (byte) print_byte::b#5 ← phi( multiply_error::@1/(byte) print_byte::b#3 multiply_error::@3/(byte) print_byte::b#4 print_sbyte::@1/(byte) print_byte::b#0 print_word/(byte) print_byte::b#1 print_word::@1/(byte) print_byte::b#2 ) [ print_byte::b#5 char_cursor#124 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] ) - [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) - [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) - [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) + [92] (byte*) char_cursor#124 ← phi( multiply_error::@1/(byte*) char_cursor#117 multiply_error::@3/(byte*) char_cursor#117 print_sbyte::@1/(byte*) char_cursor#121 print_word/(byte*) char_cursor#123 print_word::@1/(byte*) char_cursor#17 ) [ print_byte::b#5 char_cursor#124 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] ) + [92] (byte) print_byte::b#5 ← phi( multiply_error::@1/(byte) print_byte::b#3 multiply_error::@3/(byte) print_byte::b#4 print_sbyte::@1/(byte~) print_byte::b#9 print_word/(byte) print_byte::b#1 print_word::@1/(byte) print_byte::b#2 ) [ print_byte::b#5 char_cursor#124 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] ) + [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) + [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) + [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) to:print_byte::@1 print_byte::@1: scope:[print_byte] from print_byte - [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) - [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) - [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) + [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) + [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) to:print_byte::@return print_byte::@return: scope:[print_byte] from print_byte::@1 - [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) to:@return print_char: scope:[print_char] from print_byte print_byte::@1 print_sbyte::@2 print_sword::@2 - [100] (byte*) char_cursor#75 ← phi( print_byte/(byte*) char_cursor#124 print_byte::@1/(byte*) char_cursor#17 print_sbyte::@2/(byte*) char_cursor#117 print_sword::@2/(byte*) char_cursor#117 ) [ print_char::ch#4 char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] ) - [100] (byte) print_char::ch#4 ← phi( print_byte/(byte) print_char::ch#2 print_byte::@1/(byte) print_char::ch#3 print_sbyte::@2/(byte) '-' print_sword::@2/(byte) '-' ) [ print_char::ch#4 char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] ) - [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) - [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) + [100] (byte*) char_cursor#75 ← phi( print_byte/(byte*) char_cursor#124 print_byte::@1/(byte*) char_cursor#17 print_sbyte::@2/(byte*) char_cursor#117 print_sword::@2/(byte*) char_cursor#117 ) [ print_char::ch#4 char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] ) + [100] (byte) print_char::ch#4 ← phi( print_byte/(byte) print_char::ch#2 print_byte::@1/(byte) print_char::ch#3 print_sbyte::@2/(byte) '-' print_sword::@2/(byte) '-' ) [ print_char::ch#4 char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] ) + [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) + [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) to:print_char::@return print_char::@return: scope:[print_char] from print_char - [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) + [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) to:@return print_sbyte: scope:[print_sbyte] from signed_multiply_error::@1 signed_multiply_error::@3 [104] (signed byte) print_sbyte::b#3 ← phi( signed_multiply_error::@1/(signed byte) print_sbyte::b#1 signed_multiply_error::@3/(signed byte) print_sbyte::b#2 ) [ char_cursor#117 print_sbyte::b#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sbyte::b#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sbyte::b#3 ] ) @@ -224,15 +224,15 @@ print_sbyte::@4: scope:[print_sbyte] from print_sbyte::@2 print_sbyte::@1: scope:[print_sbyte] from print_sbyte print_sbyte::@4 [109] (byte*) char_cursor#121 ← phi( print_sbyte/(byte*) char_cursor#117 print_sbyte::@4/(byte*) char_cursor#17 ) [ char_cursor#121 print_sbyte::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#121 print_sbyte::b#4 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#121 print_sbyte::b#4 ] ) [109] (signed byte) print_sbyte::b#4 ← phi( print_sbyte/(signed byte) print_sbyte::b#3 print_sbyte::@4/(signed byte) print_sbyte::b#0 ) [ char_cursor#121 print_sbyte::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#121 print_sbyte::b#4 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#121 print_sbyte::b#4 ] ) - [110] (byte) print_byte::b#0 ← ((byte)) (signed byte) print_sbyte::b#4 [ print_byte::b#0 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] ) + [110] (byte~) print_byte::b#9 ← (byte)(signed byte) print_sbyte::b#4 [ print_byte::b#9 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] ) [111] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] ) to:print_sbyte::@return print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1 [112] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] ) to:@return signed_multiply: scope:[signed_multiply] from signed_multiply_results_compare::@8 - [113] (byte) multiply::a#0 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ) - [114] (byte) multiply::b#0 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ) + [113] (byte~) multiply::a#4 ← (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ) + [114] (byte~) multiply::b#4 ← (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ) [115] call multiply param-assignment [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ) [116] (word) multiply::return#2 ← (word) multiply::return#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ) to:signed_multiply::@6 @@ -242,287 +242,284 @@ signed_multiply::@6: scope:[signed_multiply] from signed_multiply to:signed_multiply::@3 signed_multiply::@3: scope:[signed_multiply] from signed_multiply::@6 [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) - [120] (byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ) - [121] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) - [122] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) + [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) + [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) to:signed_multiply::@1 signed_multiply::@1: scope:[signed_multiply] from signed_multiply::@3 signed_multiply::@6 - [123] (word) signed_multiply::m#5 ← phi( signed_multiply::@3/(word) signed_multiply::m#1 signed_multiply::@6/(word) signed_multiply::m#0 ) [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ) - [124] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) + [122] (word) signed_multiply::m#5 ← phi( signed_multiply::@3/(word) signed_multiply::m#1 signed_multiply::@6/(word) signed_multiply::m#0 ) [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ) + [123] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) to:signed_multiply::@4 signed_multiply::@4: scope:[signed_multiply] from signed_multiply::@1 - [125] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) - [126] (byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ) - [127] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) - [128] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) + [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) + [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) + [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) to:signed_multiply::@2 signed_multiply::@2: scope:[signed_multiply] from signed_multiply::@1 signed_multiply::@4 - [129] (word) signed_multiply::m#4 ← phi( signed_multiply::@1/(word) signed_multiply::m#5 signed_multiply::@4/(word) signed_multiply::m#2 ) [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) - [130] (signed word) signed_multiply::return#0 ← ((signed word)) (word) signed_multiply::m#4 [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) + [127] (word) signed_multiply::m#4 ← phi( signed_multiply::@1/(word) signed_multiply::m#5 signed_multiply::@4/(word) signed_multiply::m#2 ) [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) to:signed_multiply::@return signed_multiply::@return: scope:[signed_multiply] from signed_multiply::@2 - [131] return [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) + [128] return [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) to:@return multiply: scope:[multiply] from multiply_results_compare::@8 signed_multiply - [132] (byte) multiply::b#2 ← phi( multiply_results_compare::@8/(byte) multiply::b#1 signed_multiply/(byte) multiply::b#0 ) [ multiply::a#2 multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#2 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::a#2 multiply::b#2 ] ) - [132] (byte) multiply::a#2 ← phi( multiply_results_compare::@8/(byte) multiply::a#1 signed_multiply/(byte) multiply::a#0 ) [ multiply::a#2 multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#2 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::a#2 multiply::b#2 ] ) - [133] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) - [134] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [129] (byte) multiply::b#2 ← phi( multiply_results_compare::@8/(byte) multiply::b#1 signed_multiply/(byte~) multiply::b#4 ) [ multiply::a#2 multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#2 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::a#2 multiply::b#2 ] ) + [129] (byte) multiply::a#2 ← phi( multiply_results_compare::@8/(byte) multiply::a#1 signed_multiply/(byte~) multiply::a#4 ) [ multiply::a#2 multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#2 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::a#2 multiply::b#2 ] ) + [130] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) + [131] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } - [136] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) + [133] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) to:multiply::@return multiply::@return: scope:[multiply] from multiply - [137] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) + [134] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) to:@return slow_signed_multiply: scope:[slow_signed_multiply] from signed_multiply_results_compare::@2 - [138] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) + [135] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) to:slow_signed_multiply::@2 slow_signed_multiply::@2: scope:[slow_signed_multiply] from slow_signed_multiply slow_signed_multiply::@2 - [139] (signed byte) slow_signed_multiply::i#2 ← phi( slow_signed_multiply::@2/(signed byte) slow_signed_multiply::i#1 slow_signed_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ) - [139] (signed word) slow_signed_multiply::m#3 ← phi( slow_signed_multiply::@2/(signed word) slow_signed_multiply::m#1 slow_signed_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ) - [140] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) - [141] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) - [142] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) + [136] (signed byte) slow_signed_multiply::i#2 ← phi( slow_signed_multiply::@2/(signed byte) slow_signed_multiply::i#1 slow_signed_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ) + [136] (signed word) slow_signed_multiply::m#3 ← phi( slow_signed_multiply::@2/(signed word) slow_signed_multiply::m#1 slow_signed_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ) + [137] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) + [138] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) + [139] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) to:slow_signed_multiply::@3 slow_signed_multiply::@3: scope:[slow_signed_multiply] from slow_signed_multiply::@1 slow_signed_multiply::@2 slow_signed_multiply::@5 - [143] (signed word) slow_signed_multiply::return#0 ← phi( slow_signed_multiply::@2/(signed word) slow_signed_multiply::m#1 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 slow_signed_multiply::@5/(signed word) slow_signed_multiply::m#2 ) [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) + [140] (signed word) slow_signed_multiply::return#0 ← phi( slow_signed_multiply::@2/(signed word) slow_signed_multiply::m#1 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 slow_signed_multiply::@5/(signed word) slow_signed_multiply::m#2 ) [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) to:slow_signed_multiply::@return slow_signed_multiply::@return: scope:[slow_signed_multiply] from slow_signed_multiply::@3 - [144] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) + [141] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) to:@return slow_signed_multiply::@1: scope:[slow_signed_multiply] from slow_signed_multiply - [145] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) + [142] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) to:slow_signed_multiply::@5 slow_signed_multiply::@5: scope:[slow_signed_multiply] from slow_signed_multiply::@1 slow_signed_multiply::@5 - [146] (signed byte) slow_signed_multiply::j#2 ← phi( slow_signed_multiply::@5/(signed byte) slow_signed_multiply::j#1 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ) - [146] (signed word) slow_signed_multiply::m#5 ← phi( slow_signed_multiply::@5/(signed word) slow_signed_multiply::m#2 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ) - [147] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) - [148] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) - [149] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) + [143] (signed byte) slow_signed_multiply::j#2 ← phi( slow_signed_multiply::@5/(signed byte) slow_signed_multiply::j#1 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ) + [143] (signed word) slow_signed_multiply::m#5 ← phi( slow_signed_multiply::@5/(signed word) slow_signed_multiply::m#2 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ) + [144] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) + [145] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) + [146] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) to:slow_signed_multiply::@3 multiply_results_compare: scope:[multiply_results_compare] from main::@4 - [150] phi() [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 ] ) + [147] phi() [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 ] ) to:multiply_results_compare::@1 multiply_results_compare::@1: scope:[multiply_results_compare] from multiply_results_compare multiply_results_compare::@6 - [151] (byte) multiply_results_compare::a#6 ← phi( multiply_results_compare/(byte/signed byte/word/signed word) 0 multiply_results_compare::@6/(byte) multiply_results_compare::a#1 ) [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 ] ) + [148] (byte) multiply_results_compare::a#6 ← phi( multiply_results_compare/(byte/signed byte/word/signed word) 0 multiply_results_compare::@6/(byte) multiply_results_compare::a#1 ) [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 ] ) to:multiply_results_compare::@2 multiply_results_compare::@2: scope:[multiply_results_compare] from multiply_results_compare::@1 multiply_results_compare::@3 - [152] (byte) multiply_results_compare::b#2 ← phi( multiply_results_compare::@1/(byte/signed byte/word/signed word) 0 multiply_results_compare::@3/(byte) multiply_results_compare::b#1 ) [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 ] ) - [153] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) - [154] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) - [155] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) - [156] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) + [149] (byte) multiply_results_compare::b#2 ← phi( multiply_results_compare::@1/(byte/signed byte/word/signed word) 0 multiply_results_compare::@3/(byte) multiply_results_compare::b#1 ) [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 ] ) + [150] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) + [151] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) + [152] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + [153] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) to:multiply_results_compare::@8 multiply_results_compare::@8: scope:[multiply_results_compare] from multiply_results_compare::@2 - [157] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - [158] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - [159] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - [160] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - [161] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) + [154] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [155] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [156] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [157] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [158] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) to:multiply_results_compare::@9 multiply_results_compare::@9: scope:[multiply_results_compare] from multiply_results_compare::@8 - [162] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) - [163] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) + [159] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) + [160] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) to:multiply_results_compare::@4 multiply_results_compare::@4: scope:[multiply_results_compare] from multiply_results_compare::@9 - [164] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) - [165] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) - [166] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) - [167] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) - [168] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - [169] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + [161] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) + [162] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) + [163] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) + [164] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) + [165] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [166] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) to:multiply_results_compare::@return multiply_results_compare::@return: scope:[multiply_results_compare] from multiply_results_compare::@11 multiply_results_compare::@4 - [170] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + [167] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) to:@return multiply_results_compare::@3: scope:[multiply_results_compare] from multiply_results_compare::@9 - [171] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) - [172] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) + [168] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) + [169] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) to:multiply_results_compare::@6 multiply_results_compare::@6: scope:[multiply_results_compare] from multiply_results_compare::@3 - [173] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) - [174] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) + [170] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) + [171] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) to:multiply_results_compare::@7 multiply_results_compare::@7: scope:[multiply_results_compare] from multiply_results_compare::@6 - [175] phi() [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 ] ) - [176] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) + [172] phi() [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 ] ) + [173] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) to:multiply_results_compare::@11 multiply_results_compare::@11: scope:[multiply_results_compare] from multiply_results_compare::@7 - [177] phi() [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) - [178] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + [174] phi() [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) + [175] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) to:multiply_results_compare::@return multiply_error: scope:[multiply_error] from multiply_results_compare::@4 - [179] phi() [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - [180] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [176] phi() [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [177] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@1 multiply_error::@1: scope:[multiply_error] from multiply_error - [181] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - [182] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [178] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [179] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@2 multiply_error::@2: scope:[multiply_error] from multiply_error::@1 - [183] phi() [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - [184] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [180] phi() [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [181] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@3 multiply_error::@3: scope:[multiply_error] from multiply_error::@2 - [185] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) - [186] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + [182] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) + [183] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@4 multiply_error::@4: scope:[multiply_error] from multiply_error::@3 - [187] phi() [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) - [188] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + [184] phi() [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + [185] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@5 multiply_error::@5: scope:[multiply_error] from multiply_error::@4 - [189] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) - [190] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) + [186] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) + [187] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) to:multiply_error::@6 multiply_error::@6: scope:[multiply_error] from multiply_error::@5 - [191] phi() [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) - [192] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) + [188] phi() [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) + [189] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) to:multiply_error::@7 multiply_error::@7: scope:[multiply_error] from multiply_error::@6 - [193] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) - [194] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 ] ) + [190] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) + [191] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 ] ) to:multiply_error::@8 multiply_error::@8: scope:[multiply_error] from multiply_error::@7 - [195] phi() [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 ] ) - [196] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) + [192] phi() [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 ] ) + [193] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) to:multiply_error::@return multiply_error::@return: scope:[multiply_error] from multiply_error::@8 - [197] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) + [194] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) to:@return slow_multiply: scope:[slow_multiply] from multiply_results_compare::@2 - [198] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) + [195] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) to:slow_multiply::@2 slow_multiply::@2: scope:[slow_multiply] from slow_multiply slow_multiply::@2 - [199] (byte) slow_multiply::i#2 ← phi( slow_multiply::@2/(byte) slow_multiply::i#1 slow_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ) - [199] (word) slow_multiply::m#3 ← phi( slow_multiply::@2/(word) slow_multiply::m#1 slow_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ) - [200] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) - [201] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) - [202] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) + [196] (byte) slow_multiply::i#2 ← phi( slow_multiply::@2/(byte) slow_multiply::i#1 slow_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ) + [196] (word) slow_multiply::m#3 ← phi( slow_multiply::@2/(word) slow_multiply::m#1 slow_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ) + [197] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) + [198] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) + [199] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) to:slow_multiply::@1 slow_multiply::@1: scope:[slow_multiply] from slow_multiply slow_multiply::@2 - [203] (word) slow_multiply::return#0 ← phi( slow_multiply/(byte/signed byte/word/signed word) 0 slow_multiply::@2/(word) slow_multiply::m#1 ) [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + [200] (word) slow_multiply::return#0 ← phi( slow_multiply/(byte/signed byte/word/signed word) 0 slow_multiply::@2/(word) slow_multiply::m#1 ) [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) to:slow_multiply::@return slow_multiply::@return: scope:[slow_multiply] from slow_multiply::@1 - [204] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + [201] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) to:@return multiply_tables_compare: scope:[multiply_tables_compare] from main::@3 - [205] phi() [ ] ( main:2::multiply_tables_compare:11 [ ] ) + [202] phi() [ ] ( main:2::multiply_tables_compare:11 [ ] ) to:multiply_tables_compare::@1 multiply_tables_compare::@1: scope:[multiply_tables_compare] from multiply_tables_compare multiply_tables_compare::@2 - [206] (byte*) multiply_tables_compare::asm_sqr#2 ← phi( multiply_tables_compare/(const byte[512]) asm_mul_sqr1_lo#0 multiply_tables_compare::@2/(byte*) multiply_tables_compare::asm_sqr#1 ) [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - [206] (byte*) multiply_tables_compare::kc_sqr#2 ← phi( multiply_tables_compare/(const byte[512]) mul_sqr1_lo#0 multiply_tables_compare::@2/(byte*) multiply_tables_compare::kc_sqr#1 ) [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - [207] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [203] (byte*) multiply_tables_compare::asm_sqr#2 ← phi( multiply_tables_compare/(const byte[512]) asm_mul_sqr1_lo#0 multiply_tables_compare::@2/(byte*) multiply_tables_compare::asm_sqr#1 ) [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [203] (byte*) multiply_tables_compare::kc_sqr#2 ← phi( multiply_tables_compare/(const byte[512]) mul_sqr1_lo#0 multiply_tables_compare::@2/(byte*) multiply_tables_compare::kc_sqr#1 ) [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [204] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) to:multiply_tables_compare::@3 multiply_tables_compare::@3: scope:[multiply_tables_compare] from multiply_tables_compare::@1 - [208] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - [209] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [205] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [206] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) to:multiply_tables_compare::@6 multiply_tables_compare::@6: scope:[multiply_tables_compare] from multiply_tables_compare::@3 - [210] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) - [211] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) + [207] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) + [208] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) to:multiply_tables_compare::@7 multiply_tables_compare::@7: scope:[multiply_tables_compare] from multiply_tables_compare::@6 - [212] phi() [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) - [213] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) + [209] phi() [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) + [210] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) to:multiply_tables_compare::@8 multiply_tables_compare::@8: scope:[multiply_tables_compare] from multiply_tables_compare::@7 - [214] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) - [215] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) + [211] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) + [212] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) to:multiply_tables_compare::@return multiply_tables_compare::@return: scope:[multiply_tables_compare] from multiply_tables_compare::@10 multiply_tables_compare::@8 - [216] (byte*) line_cursor#27 ← phi( multiply_tables_compare::@10/(byte*) line_cursor#1 multiply_tables_compare::@8/((byte*))(word/signed word) 1024 ) [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) - [216] (byte*) char_cursor#27 ← phi( multiply_tables_compare::@10/(byte*~) char_cursor#197 multiply_tables_compare::@8/(byte*) char_cursor#17 ) [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) - [217] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + [213] (byte*) line_cursor#27 ← phi( multiply_tables_compare::@10/(byte*) line_cursor#1 multiply_tables_compare::@8/((byte*))(word/signed word) 1024 ) [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + [213] (byte*) char_cursor#27 ← phi( multiply_tables_compare::@10/(byte*~) char_cursor#197 multiply_tables_compare::@8/(byte*) char_cursor#17 ) [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + [214] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) to:@return multiply_tables_compare::@2: scope:[multiply_tables_compare] from multiply_tables_compare::@1 - [218] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) - [219] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) - [220] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) + [215] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) + [216] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) + [217] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) to:multiply_tables_compare::@5 multiply_tables_compare::@5: scope:[multiply_tables_compare] from multiply_tables_compare::@2 - [221] phi() [ ] ( main:2::multiply_tables_compare:11 [ ] ) - [222] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) + [218] phi() [ ] ( main:2::multiply_tables_compare:11 [ ] ) + [219] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) to:multiply_tables_compare::@10 multiply_tables_compare::@10: scope:[multiply_tables_compare] from multiply_tables_compare::@5 - [223] phi() [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) - [224] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) - [225] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) + [220] phi() [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) + [221] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) + [222] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) to:multiply_tables_compare::@return init_multiply_asm: scope:[init_multiply_asm] from main::@2 asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } - [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) - [228] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) - [229] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) - [230] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) + [224] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) + [225] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) + [226] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) + [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) to:init_multiply_asm::@return init_multiply_asm::@return: scope:[init_multiply_asm] from init_multiply_asm - [231] return [ ] ( main:2::init_multiply_asm:9 [ ] ) + [228] return [ ] ( main:2::init_multiply_asm:9 [ ] ) to:@return init_multiply: scope:[init_multiply] from main::@1 - [232] phi() [ ] ( main:2::init_multiply:7 [ ] ) + [229] phi() [ ] ( main:2::init_multiply:7 [ ] ) to:init_multiply::@1 init_multiply::@1: scope:[init_multiply] from init_multiply init_multiply::@2 - [233] (byte) init_multiply::x_2#3 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(byte) init_multiply::x_2#2 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [233] (byte*) init_multiply::sqr1_hi#2 ← phi( init_multiply/(const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 init_multiply::@2/(byte*) init_multiply::sqr1_hi#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [233] (byte*) init_multiply::sqr1_lo#2 ← phi( init_multiply/(const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 init_multiply::@2/(byte*) init_multiply::sqr1_lo#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [233] (word) init_multiply::sqr#4 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(word) init_multiply::sqr#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [233] (byte) init_multiply::c#2 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(byte) init_multiply::c#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [234] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) - [235] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) - [236] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) + [230] (byte) init_multiply::x_2#3 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(byte) init_multiply::x_2#2 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [230] (byte*) init_multiply::sqr1_hi#2 ← phi( init_multiply/(const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 init_multiply::@2/(byte*) init_multiply::sqr1_hi#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [230] (byte*) init_multiply::sqr1_lo#2 ← phi( init_multiply/(const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 init_multiply::@2/(byte*) init_multiply::sqr1_lo#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [230] (word) init_multiply::sqr#4 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(word) init_multiply::sqr#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [230] (byte) init_multiply::c#2 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(byte) init_multiply::c#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [231] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) + [232] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) + [233] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) to:init_multiply::@5 init_multiply::@5: scope:[init_multiply] from init_multiply::@1 - [237] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) - [238] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) + [234] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) + [235] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) to:init_multiply::@2 init_multiply::@2: scope:[init_multiply] from init_multiply::@1 init_multiply::@5 - [239] (byte) init_multiply::x_2#2 ← phi( init_multiply::@1/(byte) init_multiply::x_2#3 init_multiply::@5/(byte) init_multiply::x_2#1 ) [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [239] (word) init_multiply::sqr#3 ← phi( init_multiply::@1/(word) init_multiply::sqr#4 init_multiply::@5/(word) init_multiply::sqr#2 ) [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [240] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) - [241] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [242] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) - [243] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [244] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [245] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) - [246] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) - [247] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) + [236] (byte) init_multiply::x_2#2 ← phi( init_multiply::@1/(byte) init_multiply::x_2#3 init_multiply::@5/(byte) init_multiply::x_2#1 ) [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [236] (word) init_multiply::sqr#3 ← phi( init_multiply::@1/(word) init_multiply::sqr#4 init_multiply::@5/(word) init_multiply::sqr#2 ) [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [237] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) + [238] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [239] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) + [240] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [241] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [242] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) + [243] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) + [244] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) to:init_multiply::@3 init_multiply::@3: scope:[init_multiply] from init_multiply::@2 init_multiply::@4 - [248] (byte) init_multiply::dir#2 ← phi( init_multiply::@4/(byte) init_multiply::dir#3 init_multiply::@2/(byte/word/signed word) 255 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [248] (byte*) init_multiply::sqr2_hi#2 ← phi( init_multiply::@4/(byte*) init_multiply::sqr2_hi#1 init_multiply::@2/(const byte[512]) mul_sqr2_hi#0 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [248] (byte*) init_multiply::sqr2_lo#2 ← phi( init_multiply::@4/(byte*) init_multiply::sqr2_lo#1 init_multiply::@2/(const byte[512]) mul_sqr2_lo#0 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [248] (byte) init_multiply::x_255#2 ← phi( init_multiply::@4/(byte) init_multiply::x_255#1 init_multiply::@2/((byte))-(byte/signed byte/word/signed word) 1 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [249] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [250] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [251] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) - [252] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) - [253] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) + [245] (byte) init_multiply::dir#2 ← phi( init_multiply::@4/(byte) init_multiply::dir#3 init_multiply::@2/(byte/word/signed word) 255 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [245] (byte*) init_multiply::sqr2_hi#2 ← phi( init_multiply::@4/(byte*) init_multiply::sqr2_hi#1 init_multiply::@2/(const byte[512]) mul_sqr2_hi#0 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [245] (byte*) init_multiply::sqr2_lo#2 ← phi( init_multiply::@4/(byte*) init_multiply::sqr2_lo#1 init_multiply::@2/(const byte[512]) mul_sqr2_lo#0 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [245] (byte) init_multiply::x_255#2 ← phi( init_multiply::@4/(byte) init_multiply::x_255#1 init_multiply::@2/((byte))-(byte/signed byte/word/signed word) 1 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [246] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [247] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [248] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) + [249] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) + [250] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) to:init_multiply::@4 init_multiply::@4: scope:[init_multiply] from init_multiply::@12 init_multiply::@3 - [254] (byte) init_multiply::dir#3 ← phi( init_multiply::@12/(byte) init_multiply::dir#2 init_multiply::@3/(byte/signed byte/word/signed word) 1 ) [ init_multiply::sqr2_lo#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) - [255] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) - [256] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) + [251] (byte) init_multiply::dir#3 ← phi( init_multiply::@12/(byte) init_multiply::dir#2 init_multiply::@3/(byte/signed byte/word/signed word) 1 ) [ init_multiply::sqr2_lo#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) + [252] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) + [253] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) to:init_multiply::@8 init_multiply::@8: scope:[init_multiply] from init_multiply::@4 - [257] *((const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_lo#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) - [258] *((const byte[512]) mul_sqr2_hi#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_hi#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) + [254] *((const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_lo#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) + [255] *((const byte[512]) mul_sqr2_hi#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_hi#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) to:init_multiply::@return init_multiply::@return: scope:[init_multiply] from init_multiply::@8 - [259] return [ ] ( main:2::init_multiply:7 [ ] ) + [256] return [ ] ( main:2::init_multiply:7 [ ] ) to:@return init_multiply::@12: scope:[init_multiply] from init_multiply::@3 - [260] phi() [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) + [257] phi() [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) to:init_multiply::@4 print_cls: scope:[print_cls] from main - [261] phi() [ ] ( main:2::print_cls:5 [ ] ) + [258] phi() [ ] ( main:2::print_cls:5 [ ] ) to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [262] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) - [263] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) - [264] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) - [265] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) + [259] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) + [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) + [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) + [262] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [266] return [ ] ( main:2::print_cls:5 [ ] ) + [263] return [ ] ( main:2::print_cls:5 [ ] ) to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.log b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.log index e94648fcd..f0f8c2b66 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.log @@ -4496,6 +4496,14 @@ Constant (const byte*) multiply_tables_compare::$9 = mul_sqr1_lo#0+multiply_tabl Succesful SSA optimization Pass2ConstantIdentification Fixing word constructor with multiply::$0 ← *(multiply::memB#0) w= *(multiply::memA#0) Succesful SSA optimization Pass2FixWordConstructors +Eliminating Noop Cast (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 +Eliminating Noop Cast (byte) print_byte::b#0 ← ((byte)) (signed byte) print_sbyte::b#4 +Eliminating Noop Cast (byte) multiply::a#0 ← ((byte)) (signed byte) signed_multiply::a#0 +Eliminating Noop Cast (byte) multiply::b#0 ← ((byte)) (signed byte) signed_multiply::b#0 +Eliminating Noop Cast (byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b#0 +Eliminating Noop Cast (signed word) signed_multiply::return#0 ← ((signed word)) (word) signed_multiply::m#4 +Eliminating Noop Cast (byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a#0 +Succesful SSA optimization Pass2NopCastElimination Culled Empty Block (label) print_ln::@2 Culled Empty Block (label) print_sword::@3 Culled Empty Block (label) print_sbyte::@3 @@ -4567,7 +4575,6 @@ Not aliassing across scopes: slow_signed_multiply::return#2 slow_signed_multiply Not aliassing across scopes: signed_multiply_results_compare::ms#0 slow_signed_multiply::return#2 Not aliassing across scopes: signed_multiply::a#0 signed_multiply_results_compare::a#6 Not aliassing across scopes: signed_multiply::b#0 signed_multiply_results_compare::b#2 -Not aliassing across scopes: signed_multiply::return#2 signed_multiply::return#0 Not aliassing across scopes: signed_multiply_results_compare::ma#0 signed_multiply::return#2 Not aliassing across scopes: signed_multiply_error::a#0 signed_multiply_results_compare::a#6 Not aliassing across scopes: signed_multiply_error::b#0 signed_multiply_results_compare::b#2 @@ -4624,7 +4631,6 @@ Not aliassing across scopes: slow_signed_multiply::return#2 slow_signed_multiply Not aliassing across scopes: signed_multiply_results_compare::ms#0 slow_signed_multiply::return#2 Not aliassing across scopes: signed_multiply::a#0 signed_multiply_results_compare::a#6 Not aliassing across scopes: signed_multiply::b#0 signed_multiply_results_compare::b#2 -Not aliassing across scopes: signed_multiply::return#2 signed_multiply::return#0 Not aliassing across scopes: signed_multiply_results_compare::ma#0 signed_multiply::return#2 Not aliassing across scopes: signed_multiply_error::a#0 signed_multiply_results_compare::a#6 Not aliassing across scopes: signed_multiply_error::b#0 signed_multiply_results_compare::b#2 @@ -4690,7 +4696,6 @@ Not aliassing across scopes: slow_signed_multiply::return#2 slow_signed_multiply Not aliassing across scopes: signed_multiply_results_compare::ms#0 slow_signed_multiply::return#2 Not aliassing across scopes: signed_multiply::a#0 signed_multiply_results_compare::a#6 Not aliassing across scopes: signed_multiply::b#0 signed_multiply_results_compare::b#2 -Not aliassing across scopes: signed_multiply::return#2 signed_multiply::return#0 Not aliassing across scopes: signed_multiply_results_compare::ma#0 signed_multiply::return#2 Not aliassing across scopes: signed_multiply_error::a#0 signed_multiply_results_compare::a#6 Not aliassing across scopes: signed_multiply_error::b#0 signed_multiply_results_compare::b#2 @@ -4905,14 +4910,14 @@ Calls in [] to main:2 Calls in [main] to print_cls:5 init_multiply:7 init_multiply_asm:9 multiply_tables_compare:11 multiply_results_compare:13 signed_multiply_results_compare:15 Calls in [signed_multiply_results_compare] to slow_signed_multiply:22 signed_multiply:27 signed_multiply_error:36 print_str:43 print_ln:46 Calls in [signed_multiply_error] to print_str:68 print_sbyte:71 print_str:73 print_sbyte:76 print_str:78 print_sword:81 print_str:83 print_sword:86 print_ln:89 -Calls in [print_sword] to print_char:94 print_word:102 -Calls in [print_word] to print_byte:110 print_byte:114 -Calls in [print_byte] to print_char:121 print_char:126 -Calls in [print_sbyte] to print_char:135 print_byte:143 -Calls in [signed_multiply] to multiply:151 -Calls in [multiply_results_compare] to slow_multiply:201 multiply:208 multiply_error:217 print_str:224 print_ln:227 -Calls in [multiply_error] to print_str:231 print_byte:235 print_str:237 print_byte:241 print_str:243 print_word:247 print_str:249 print_word:253 print_ln:256 -Calls in [multiply_tables_compare] to print_str:272 print_word:276 print_str:278 print_word:282 print_str:290 print_ln:292 +Calls in [print_sword] to print_char:94 print_word:101 +Calls in [print_word] to print_byte:109 print_byte:113 +Calls in [print_byte] to print_char:120 print_char:125 +Calls in [print_sbyte] to print_char:134 print_byte:141 +Calls in [signed_multiply] to multiply:147 +Calls in [multiply_results_compare] to slow_multiply:194 multiply:201 multiply_error:210 print_str:217 print_ln:220 +Calls in [multiply_error] to print_str:224 print_byte:228 print_str:230 print_byte:234 print_str:236 print_word:240 print_str:242 print_word:246 print_ln:249 +Calls in [multiply_tables_compare] to print_str:265 print_word:269 print_str:271 print_word:275 print_str:283 print_ln:285 Propagating live ranges... Propagating live ranges... @@ -4969,87 +4974,83 @@ Coalesced (already) [88] char_cursor#164 ← char_cursor#17 Coalesced [93] char_cursor#194 ← char_cursor#117 Coalesced [96] print_sword::w#10 ← print_sword::w#0 Coalesced [97] char_cursor#180 ← char_cursor#17 -Coalesced [100] print_word::w#11 ← print_word::w#0 -Coalesced [101] char_cursor#185 ← char_cursor#119 -Coalesced [104] print_sword::w#9 ← print_sword::w#3 -Coalesced (already) [105] char_cursor#179 ← char_cursor#117 -Coalesced [108] print_byte::b#10 ← print_byte::b#1 -Coalesced [109] char_cursor#189 ← char_cursor#123 -Coalesced [112] print_byte::b#11 ← print_byte::b#2 -Coalesced (already) [113] char_cursor#190 ← char_cursor#17 -Coalesced [119] print_char::ch#5 ← print_char::ch#2 -Coalesced (already) [120] char_cursor#191 ← char_cursor#124 -Coalesced [124] print_char::ch#6 ← print_char::ch#3 -Coalesced (already) [125] char_cursor#192 ← char_cursor#17 -Coalesced (already) [134] char_cursor#193 ← char_cursor#117 -Coalesced [137] print_sbyte::b#10 ← print_sbyte::b#0 -Coalesced [138] char_cursor#196 ← char_cursor#17 -Coalesced [141] print_byte::b#9 ← print_byte::b#0 -Coalesced (already) [142] char_cursor#188 ← char_cursor#121 -Coalesced [145] print_sbyte::b#9 ← print_sbyte::b#3 -Coalesced (already) [146] char_cursor#195 ← char_cursor#117 -Coalesced [149] multiply::a#4 ← multiply::a#0 -Coalesced [150] multiply::b#4 ← multiply::b#0 -Coalesced [159] signed_multiply::m#7 ← signed_multiply::m#1 -Coalesced [166] signed_multiply::m#10 ← signed_multiply::m#2 -Coalesced [170] signed_multiply::m#9 ← signed_multiply::m#5 -Coalesced [171] signed_multiply::m#8 ← signed_multiply::m#0 -Coalesced [183] slow_signed_multiply::return#5 ← slow_signed_multiply::m#1 -Coalesced [186] slow_signed_multiply::m#10 ← slow_signed_multiply::m#1 -Coalesced [187] slow_signed_multiply::i#3 ← slow_signed_multiply::i#1 -Coalesced [193] slow_signed_multiply::return#6 ← slow_signed_multiply::m#2 -Coalesced [194] slow_signed_multiply::m#11 ← slow_signed_multiply::m#2 -Coalesced [195] slow_signed_multiply::j#3 ← slow_signed_multiply::j#1 -Coalesced [206] multiply::a#3 ← multiply::a#1 -Coalesced [207] multiply::b#3 ← multiply::b#1 -Coalesced [223] char_cursor#170 ← char_cursor#27 -Coalesced [225] line_cursor#98 ← line_cursor#27 -Coalesced (already) [226] char_cursor#162 ← char_cursor#117 -Coalesced [228] multiply_results_compare::a#9 ← multiply_results_compare::a#1 -Coalesced [229] multiply_results_compare::b#7 ← multiply_results_compare::b#1 -Coalesced (already) [230] char_cursor#166 ← char_cursor#27 -Coalesced [233] print_byte::b#7 ← print_byte::b#3 -Coalesced (already) [234] char_cursor#186 ← char_cursor#117 -Coalesced (already) [236] char_cursor#167 ← char_cursor#17 -Coalesced [239] print_byte::b#8 ← print_byte::b#4 -Coalesced (already) [240] char_cursor#187 ← char_cursor#117 -Coalesced (already) [242] char_cursor#168 ← char_cursor#17 -Coalesced [245] print_word::w#7 ← print_word::w#3 -Coalesced (already) [246] char_cursor#181 ← char_cursor#117 -Coalesced (already) [248] char_cursor#169 ← char_cursor#17 -Coalesced [251] print_word::w#8 ← print_word::w#4 -Coalesced (already) [252] char_cursor#182 ← char_cursor#117 -Coalesced (already) [254] line_cursor#97 ← line_cursor#27 -Coalesced (already) [255] char_cursor#161 ← char_cursor#17 -Coalesced [263] slow_multiply::return#5 ← slow_multiply::m#1 -Coalesced [266] slow_multiply::m#5 ← slow_multiply::m#1 -Coalesced [267] slow_multiply::i#3 ← slow_multiply::i#1 -Coalesced [274] print_word::w#9 ← print_word::w#1 -Coalesced (already) [275] char_cursor#183 ← char_cursor#117 -Coalesced (already) [277] char_cursor#171 ← char_cursor#17 -Coalesced [280] print_word::w#10 ← print_word::w#2 -Coalesced (already) [281] char_cursor#184 ← char_cursor#117 -Coalesced (already) [283] char_cursor#198 ← char_cursor#17 -Coalesced (already) [291] char_cursor#163 ← char_cursor#117 -Not coalescing [293] char_cursor#197 ← line_cursor#1 -Coalesced (already) [294] line_cursor#103 ← line_cursor#1 -Coalesced [295] multiply_tables_compare::kc_sqr#8 ← multiply_tables_compare::kc_sqr#1 -Coalesced [296] multiply_tables_compare::asm_sqr#6 ← multiply_tables_compare::asm_sqr#1 -Coalesced [310] init_multiply::sqr#8 ← init_multiply::sqr#2 -Coalesced [311] init_multiply::x_2#7 ← init_multiply::x_2#1 -Coalesced [334] init_multiply::x_255#5 ← init_multiply::x_255#1 -Coalesced [335] init_multiply::sqr2_lo#5 ← init_multiply::sqr2_lo#1 -Coalesced [336] init_multiply::sqr2_hi#5 ← init_multiply::sqr2_hi#1 -Coalesced [337] init_multiply::dir#4 ← init_multiply::dir#3 -Coalesced (already) [338] init_multiply::dir#5 ← init_multiply::dir#2 -Coalesced [339] init_multiply::c#5 ← init_multiply::c#1 -Coalesced [340] init_multiply::sqr#6 ← init_multiply::sqr#1 -Coalesced [341] init_multiply::sqr1_lo#5 ← init_multiply::sqr1_lo#1 -Coalesced [342] init_multiply::sqr1_hi#5 ← init_multiply::sqr1_hi#1 -Coalesced [343] init_multiply::x_2#5 ← init_multiply::x_2#2 -Coalesced [344] init_multiply::sqr#7 ← init_multiply::sqr#4 -Coalesced (already) [345] init_multiply::x_2#6 ← init_multiply::x_2#3 -Coalesced [352] print_cls::sc#3 ← print_cls::sc#1 +Coalesced [100] char_cursor#185 ← char_cursor#119 +Coalesced [103] print_sword::w#9 ← print_sword::w#3 +Coalesced (already) [104] char_cursor#179 ← char_cursor#117 +Coalesced [107] print_byte::b#10 ← print_byte::b#1 +Coalesced [108] char_cursor#189 ← char_cursor#123 +Coalesced [111] print_byte::b#11 ← print_byte::b#2 +Coalesced (already) [112] char_cursor#190 ← char_cursor#17 +Coalesced [118] print_char::ch#5 ← print_char::ch#2 +Coalesced (already) [119] char_cursor#191 ← char_cursor#124 +Coalesced [123] print_char::ch#6 ← print_char::ch#3 +Coalesced (already) [124] char_cursor#192 ← char_cursor#17 +Coalesced (already) [133] char_cursor#193 ← char_cursor#117 +Coalesced [136] print_sbyte::b#10 ← print_sbyte::b#0 +Coalesced [137] char_cursor#196 ← char_cursor#17 +Coalesced (already) [140] char_cursor#188 ← char_cursor#121 +Coalesced [143] print_sbyte::b#9 ← print_sbyte::b#3 +Coalesced (already) [144] char_cursor#195 ← char_cursor#117 +Coalesced [154] signed_multiply::m#7 ← signed_multiply::m#1 +Coalesced [160] signed_multiply::m#10 ← signed_multiply::m#2 +Coalesced [163] signed_multiply::m#9 ← signed_multiply::m#5 +Coalesced [164] signed_multiply::m#8 ← signed_multiply::m#0 +Coalesced [176] slow_signed_multiply::return#5 ← slow_signed_multiply::m#1 +Coalesced [179] slow_signed_multiply::m#10 ← slow_signed_multiply::m#1 +Coalesced [180] slow_signed_multiply::i#3 ← slow_signed_multiply::i#1 +Coalesced [186] slow_signed_multiply::return#6 ← slow_signed_multiply::m#2 +Coalesced [187] slow_signed_multiply::m#11 ← slow_signed_multiply::m#2 +Coalesced [188] slow_signed_multiply::j#3 ← slow_signed_multiply::j#1 +Coalesced [199] multiply::a#3 ← multiply::a#1 +Coalesced [200] multiply::b#3 ← multiply::b#1 +Coalesced [216] char_cursor#170 ← char_cursor#27 +Coalesced [218] line_cursor#98 ← line_cursor#27 +Coalesced (already) [219] char_cursor#162 ← char_cursor#117 +Coalesced [221] multiply_results_compare::a#9 ← multiply_results_compare::a#1 +Coalesced [222] multiply_results_compare::b#7 ← multiply_results_compare::b#1 +Coalesced (already) [223] char_cursor#166 ← char_cursor#27 +Coalesced [226] print_byte::b#7 ← print_byte::b#3 +Coalesced (already) [227] char_cursor#186 ← char_cursor#117 +Coalesced (already) [229] char_cursor#167 ← char_cursor#17 +Coalesced [232] print_byte::b#8 ← print_byte::b#4 +Coalesced (already) [233] char_cursor#187 ← char_cursor#117 +Coalesced (already) [235] char_cursor#168 ← char_cursor#17 +Coalesced [238] print_word::w#7 ← print_word::w#3 +Coalesced (already) [239] char_cursor#181 ← char_cursor#117 +Coalesced (already) [241] char_cursor#169 ← char_cursor#17 +Coalesced [244] print_word::w#8 ← print_word::w#4 +Coalesced (already) [245] char_cursor#182 ← char_cursor#117 +Coalesced (already) [247] line_cursor#97 ← line_cursor#27 +Coalesced (already) [248] char_cursor#161 ← char_cursor#17 +Coalesced [256] slow_multiply::return#5 ← slow_multiply::m#1 +Coalesced [259] slow_multiply::m#5 ← slow_multiply::m#1 +Coalesced [260] slow_multiply::i#3 ← slow_multiply::i#1 +Coalesced [267] print_word::w#9 ← print_word::w#1 +Coalesced (already) [268] char_cursor#183 ← char_cursor#117 +Coalesced (already) [270] char_cursor#171 ← char_cursor#17 +Coalesced [273] print_word::w#10 ← print_word::w#2 +Coalesced (already) [274] char_cursor#184 ← char_cursor#117 +Coalesced (already) [276] char_cursor#198 ← char_cursor#17 +Coalesced (already) [284] char_cursor#163 ← char_cursor#117 +Not coalescing [286] char_cursor#197 ← line_cursor#1 +Coalesced (already) [287] line_cursor#103 ← line_cursor#1 +Coalesced [288] multiply_tables_compare::kc_sqr#8 ← multiply_tables_compare::kc_sqr#1 +Coalesced [289] multiply_tables_compare::asm_sqr#6 ← multiply_tables_compare::asm_sqr#1 +Coalesced [303] init_multiply::sqr#8 ← init_multiply::sqr#2 +Coalesced [304] init_multiply::x_2#7 ← init_multiply::x_2#1 +Coalesced [327] init_multiply::x_255#5 ← init_multiply::x_255#1 +Coalesced [328] init_multiply::sqr2_lo#5 ← init_multiply::sqr2_lo#1 +Coalesced [329] init_multiply::sqr2_hi#5 ← init_multiply::sqr2_hi#1 +Coalesced [330] init_multiply::dir#4 ← init_multiply::dir#3 +Coalesced (already) [331] init_multiply::dir#5 ← init_multiply::dir#2 +Coalesced [332] init_multiply::c#5 ← init_multiply::c#1 +Coalesced [333] init_multiply::sqr#6 ← init_multiply::sqr#1 +Coalesced [334] init_multiply::sqr1_lo#5 ← init_multiply::sqr1_lo#1 +Coalesced [335] init_multiply::sqr1_hi#5 ← init_multiply::sqr1_hi#1 +Coalesced [336] init_multiply::x_2#5 ← init_multiply::x_2#2 +Coalesced [337] init_multiply::sqr#7 ← init_multiply::sqr#4 +Coalesced (already) [338] init_multiply::x_2#6 ← init_multiply::x_2#3 +Coalesced [345] print_cls::sc#3 ← print_cls::sc#1 Coalesced down to 32 phi equivalence classes Culled Empty Block (label) signed_multiply_results_compare::@13 Culled Empty Block (label) signed_multiply_results_compare::@14 @@ -5184,8 +5185,8 @@ signed_multiply_results_compare::@8: scope:[signed_multiply_results_compare] fr [24] (signed word) signed_multiply_results_compare::ms#0 ← (signed word) slow_signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 ] ) [25] (signed byte) signed_multiply::a#0 ← (signed byte) signed_multiply_results_compare::a#6 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 line_cursor#1 ] ) [26] (signed byte) signed_multiply::b#0 ← (signed byte) signed_multiply_results_compare::b#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ) - [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ) - [28] (signed word) signed_multiply::return#2 ← (signed word) signed_multiply::return#0 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) + [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ) + [28] (signed word) signed_multiply::return#2 ← (signed word)(word) signed_multiply::m#4 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) to:signed_multiply_results_compare::@9 signed_multiply_results_compare::@9: scope:[signed_multiply_results_compare] from signed_multiply_results_compare::@8 [29] (signed word) signed_multiply_results_compare::ma#0 ← (signed word) signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) @@ -5219,33 +5220,33 @@ signed_multiply_results_compare::@11: scope:[signed_multiply_results_compare] f [45] call print_ln param-assignment [ ] ( main:2::signed_multiply_results_compare:15 [ ] ) to:signed_multiply_results_compare::@return print_ln: scope:[print_ln] from multiply_error::@8 multiply_results_compare::@11 multiply_tables_compare::@10 signed_multiply_error::@8 signed_multiply_results_compare::@11 - [46] (byte*) char_cursor#118 ← phi( multiply_error::@8/(byte*) char_cursor#17 multiply_results_compare::@11/(byte*) char_cursor#117 multiply_tables_compare::@10/(byte*) char_cursor#117 signed_multiply_error::@8/(byte*) char_cursor#17 signed_multiply_results_compare::@11/(byte*) char_cursor#117 ) [ line_cursor#40 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#40 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#40 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#40 char_cursor#118 ] ) - [46] (byte*) line_cursor#40 ← phi( multiply_error::@8/(byte*) line_cursor#27 multiply_results_compare::@11/(byte*) line_cursor#27 multiply_tables_compare::@10/((byte*))(word/signed word) 1024 signed_multiply_error::@8/(byte*) line_cursor#1 signed_multiply_results_compare::@11/(byte*) line_cursor#1 ) [ line_cursor#40 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#40 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#40 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#40 char_cursor#118 ] ) + [46] (byte*) char_cursor#118 ← phi( multiply_error::@8/(byte*) char_cursor#17 multiply_results_compare::@11/(byte*) char_cursor#117 multiply_tables_compare::@10/(byte*) char_cursor#117 signed_multiply_error::@8/(byte*) char_cursor#17 signed_multiply_results_compare::@11/(byte*) char_cursor#117 ) [ line_cursor#40 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#40 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#40 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#40 char_cursor#118 ] ) + [46] (byte*) line_cursor#40 ← phi( multiply_error::@8/(byte*) line_cursor#27 multiply_results_compare::@11/(byte*) line_cursor#27 multiply_tables_compare::@10/((byte*))(word/signed word) 1024 signed_multiply_error::@8/(byte*) line_cursor#1 signed_multiply_results_compare::@11/(byte*) line_cursor#1 ) [ line_cursor#40 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#40 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#40 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#40 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#40 char_cursor#118 ] ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [47] (byte*) line_cursor#20 ← phi( print_ln/(byte*) line_cursor#40 print_ln::@1/(byte*) line_cursor#1 ) [ char_cursor#118 line_cursor#20 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ char_cursor#118 line_cursor#20 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ char_cursor#118 line_cursor#20 ] main:2::multiply_results_compare:13::print_ln:178 [ char_cursor#118 line_cursor#20 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ char_cursor#118 line_cursor#20 ] main:2::multiply_tables_compare:11::print_ln:224 [ char_cursor#118 line_cursor#20 ] ) - [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) - [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) + [47] (byte*) line_cursor#20 ← phi( print_ln/(byte*) line_cursor#40 print_ln::@1/(byte*) line_cursor#1 ) [ char_cursor#118 line_cursor#20 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ char_cursor#118 line_cursor#20 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ char_cursor#118 line_cursor#20 ] main:2::multiply_results_compare:13::print_ln:175 [ char_cursor#118 line_cursor#20 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ char_cursor#118 line_cursor#20 ] main:2::multiply_tables_compare:11::print_ln:221 [ char_cursor#118 line_cursor#20 ] ) + [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) + [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 ] ) + [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 ] ) to:@return print_str: scope:[print_str] from multiply_error multiply_error::@2 multiply_error::@4 multiply_error::@6 multiply_results_compare::@7 multiply_tables_compare::@3 multiply_tables_compare::@5 multiply_tables_compare::@7 signed_multiply_error signed_multiply_error::@2 signed_multiply_error::@4 signed_multiply_error::@6 signed_multiply_results_compare::@7 - [51] (byte*) char_cursor#135 ← phi( multiply_error/(byte*) char_cursor#27 multiply_error::@2/(byte*) char_cursor#17 multiply_error::@4/(byte*) char_cursor#17 multiply_error::@6/(byte*) char_cursor#17 multiply_results_compare::@7/(byte*) char_cursor#27 multiply_tables_compare::@3/((byte*))(word/signed word) 1024 multiply_tables_compare::@5/((byte*))(word/signed word) 1024 multiply_tables_compare::@7/(byte*) char_cursor#17 signed_multiply_error/(byte*~) char_cursor#172 signed_multiply_error::@2/(byte*) char_cursor#17 signed_multiply_error::@4/(byte*) char_cursor#17 signed_multiply_error::@6/(byte*) char_cursor#17 signed_multiply_results_compare::@7/(byte*~) char_cursor#176 ) [ print_str::str#16 char_cursor#135 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#16 char_cursor#135 ] ) - [51] (byte*) print_str::str#16 ← phi( multiply_error/(const string) multiply_error::str multiply_error::@2/(const string) multiply_error::str1 multiply_error::@4/(const string) multiply_error::str2 multiply_error::@6/(const string) multiply_error::str3 multiply_results_compare::@7/(const string) multiply_results_compare::str multiply_tables_compare::@3/(const string) multiply_tables_compare::str multiply_tables_compare::@5/(const string) multiply_tables_compare::str2 multiply_tables_compare::@7/(const string) multiply_tables_compare::str1 signed_multiply_error/(const string) signed_multiply_error::str signed_multiply_error::@2/(const string) signed_multiply_error::str1 signed_multiply_error::@4/(const string) signed_multiply_error::str2 signed_multiply_error::@6/(const string) signed_multiply_error::str3 signed_multiply_results_compare::@7/(const string) signed_multiply_results_compare::str ) [ print_str::str#16 char_cursor#135 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#16 char_cursor#135 ] ) + [51] (byte*) char_cursor#135 ← phi( multiply_error/(byte*) char_cursor#27 multiply_error::@2/(byte*) char_cursor#17 multiply_error::@4/(byte*) char_cursor#17 multiply_error::@6/(byte*) char_cursor#17 multiply_results_compare::@7/(byte*) char_cursor#27 multiply_tables_compare::@3/((byte*))(word/signed word) 1024 multiply_tables_compare::@5/((byte*))(word/signed word) 1024 multiply_tables_compare::@7/(byte*) char_cursor#17 signed_multiply_error/(byte*~) char_cursor#172 signed_multiply_error::@2/(byte*) char_cursor#17 signed_multiply_error::@4/(byte*) char_cursor#17 signed_multiply_error::@6/(byte*) char_cursor#17 signed_multiply_results_compare::@7/(byte*~) char_cursor#176 ) [ print_str::str#16 char_cursor#135 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#16 char_cursor#135 ] ) + [51] (byte*) print_str::str#16 ← phi( multiply_error/(const string) multiply_error::str multiply_error::@2/(const string) multiply_error::str1 multiply_error::@4/(const string) multiply_error::str2 multiply_error::@6/(const string) multiply_error::str3 multiply_results_compare::@7/(const string) multiply_results_compare::str multiply_tables_compare::@3/(const string) multiply_tables_compare::str multiply_tables_compare::@5/(const string) multiply_tables_compare::str2 multiply_tables_compare::@7/(const string) multiply_tables_compare::str1 signed_multiply_error/(const string) signed_multiply_error::str signed_multiply_error::@2/(const string) signed_multiply_error::str1 signed_multiply_error::@4/(const string) signed_multiply_error::str2 signed_multiply_error::@6/(const string) signed_multiply_error::str3 signed_multiply_results_compare::@7/(const string) signed_multiply_results_compare::str ) [ print_str::str#16 char_cursor#135 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#16 char_cursor#135 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#16 char_cursor#135 ] ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@2 - [52] (byte*) char_cursor#117 ← phi( print_str/(byte*) char_cursor#135 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) - [52] (byte*) print_str::str#14 ← phi( print_str/(byte*) print_str::str#16 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) - [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) + [52] (byte*) char_cursor#117 ← phi( print_str/(byte*) char_cursor#135 print_str::@2/(byte*) char_cursor#1 ) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) + [52] (byte*) print_str::str#14 ← phi( print_str/(byte*) print_str::str#16 print_str::@2/(byte*) print_str::str#0 ) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) + [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) to:print_str::@return print_str::@return: scope:[print_str] from print_str::@1 - [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 ] ) + [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 ] ) to:@return print_str::@2: scope:[print_str] from print_str::@1 - [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) - [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#14 char_cursor#1 ] ) - [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#0 char_cursor#1 ] ) + [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) + [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#14 char_cursor#1 ] ) + [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#0 char_cursor#1 ] ) to:print_str::@1 signed_multiply_error: scope:[signed_multiply_error] from signed_multiply_results_compare::@4 [58] (byte*~) char_cursor#172 ← (byte*) line_cursor#1 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#172 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#172 ] ) @@ -5300,48 +5301,48 @@ print_sword::@4: scope:[print_sword] from print_sword::@2 print_sword::@1: scope:[print_sword] from print_sword print_sword::@4 [82] (byte*) char_cursor#119 ← phi( print_sword/(byte*) char_cursor#117 print_sword::@4/(byte*) char_cursor#17 ) [ print_sword::w#4 char_cursor#119 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#4 char_cursor#119 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 print_sword::w#4 char_cursor#119 ] ) [82] (signed word) print_sword::w#4 ← phi( print_sword/(signed word) print_sword::w#3 print_sword::@4/(signed word) print_sword::w#0 ) [ print_sword::w#4 char_cursor#119 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#4 char_cursor#119 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 print_sword::w#4 char_cursor#119 ] ) - [83] (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 [ char_cursor#119 print_word::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#0 ] ) + [83] (word~) print_word::w#11 ← (word)(signed word) print_sword::w#4 [ char_cursor#119 print_word::w#11 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#11 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#11 ] ) [84] call print_word param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 ] ) to:print_sword::@return print_sword::@return: scope:[print_sword] from print_sword::@1 [85] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 ] ) to:@return print_word: scope:[print_word] from multiply_error::@5 multiply_error::@7 multiply_tables_compare::@6 multiply_tables_compare::@8 print_sword::@1 - [86] (byte*) char_cursor#123 ← phi( multiply_error::@5/(byte*) char_cursor#117 multiply_error::@7/(byte*) char_cursor#117 multiply_tables_compare::@6/(byte*) char_cursor#117 multiply_tables_compare::@8/(byte*) char_cursor#117 print_sword::@1/(byte*) char_cursor#119 ) [ print_word::w#5 char_cursor#123 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 ] ) - [86] (word) print_word::w#5 ← phi( multiply_error::@5/(word) print_word::w#3 multiply_error::@7/(word) print_word::w#4 multiply_tables_compare::@6/(word) print_word::w#1 multiply_tables_compare::@8/(word) print_word::w#2 print_sword::@1/(word) print_word::w#0 ) [ print_word::w#5 char_cursor#123 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 ] ) - [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) - [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_word::w#5 ] ) + [86] (byte*) char_cursor#123 ← phi( multiply_error::@5/(byte*) char_cursor#117 multiply_error::@7/(byte*) char_cursor#117 multiply_tables_compare::@6/(byte*) char_cursor#117 multiply_tables_compare::@8/(byte*) char_cursor#117 print_sword::@1/(byte*) char_cursor#119 ) [ print_word::w#5 char_cursor#123 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 ] ) + [86] (word) print_word::w#5 ← phi( multiply_error::@5/(word) print_word::w#3 multiply_error::@7/(word) print_word::w#4 multiply_tables_compare::@6/(word) print_word::w#1 multiply_tables_compare::@8/(word) print_word::w#2 print_sword::@1/(word~) print_word::w#11 ) [ print_word::w#5 char_cursor#123 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 ] ) + [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) + [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_word::w#5 ] ) to:print_word::@1 print_word::@1: scope:[print_word] from print_word - [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_byte::b#2 ] ) - [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_byte::b#2 ] ) + [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) to:print_word::@return print_word::@return: scope:[print_word] from print_word::@1 - [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) to:@return print_byte: scope:[print_byte] from multiply_error::@1 multiply_error::@3 print_sbyte::@1 print_word print_word::@1 - [92] (byte*) char_cursor#124 ← phi( multiply_error::@1/(byte*) char_cursor#117 multiply_error::@3/(byte*) char_cursor#117 print_sbyte::@1/(byte*) char_cursor#121 print_word/(byte*) char_cursor#123 print_word::@1/(byte*) char_cursor#17 ) [ print_byte::b#5 char_cursor#124 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] ) - [92] (byte) print_byte::b#5 ← phi( multiply_error::@1/(byte) print_byte::b#3 multiply_error::@3/(byte) print_byte::b#4 print_sbyte::@1/(byte) print_byte::b#0 print_word/(byte) print_byte::b#1 print_word::@1/(byte) print_byte::b#2 ) [ print_byte::b#5 char_cursor#124 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] ) - [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) - [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) - [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) + [92] (byte*) char_cursor#124 ← phi( multiply_error::@1/(byte*) char_cursor#117 multiply_error::@3/(byte*) char_cursor#117 print_sbyte::@1/(byte*) char_cursor#121 print_word/(byte*) char_cursor#123 print_word::@1/(byte*) char_cursor#17 ) [ print_byte::b#5 char_cursor#124 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] ) + [92] (byte) print_byte::b#5 ← phi( multiply_error::@1/(byte) print_byte::b#3 multiply_error::@3/(byte) print_byte::b#4 print_sbyte::@1/(byte~) print_byte::b#9 print_word/(byte) print_byte::b#1 print_word::@1/(byte) print_byte::b#2 ) [ print_byte::b#5 char_cursor#124 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 ] ) + [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) + [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) + [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) to:print_byte::@1 print_byte::@1: scope:[print_byte] from print_byte - [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) - [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) - [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) + [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) + [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) to:print_byte::@return print_byte::@return: scope:[print_byte] from print_byte::@1 - [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) to:@return print_char: scope:[print_char] from print_byte print_byte::@1 print_sbyte::@2 print_sword::@2 - [100] (byte*) char_cursor#75 ← phi( print_byte/(byte*) char_cursor#124 print_byte::@1/(byte*) char_cursor#17 print_sbyte::@2/(byte*) char_cursor#117 print_sword::@2/(byte*) char_cursor#117 ) [ print_char::ch#4 char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] ) - [100] (byte) print_char::ch#4 ← phi( print_byte/(byte) print_char::ch#2 print_byte::@1/(byte) print_char::ch#3 print_sbyte::@2/(byte) '-' print_sword::@2/(byte) '-' ) [ print_char::ch#4 char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] ) - [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) - [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) + [100] (byte*) char_cursor#75 ← phi( print_byte/(byte*) char_cursor#124 print_byte::@1/(byte*) char_cursor#17 print_sbyte::@2/(byte*) char_cursor#117 print_sword::@2/(byte*) char_cursor#117 ) [ print_char::ch#4 char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] ) + [100] (byte) print_char::ch#4 ← phi( print_byte/(byte) print_char::ch#2 print_byte::@1/(byte) print_char::ch#3 print_sbyte::@2/(byte) '-' print_sword::@2/(byte) '-' ) [ print_char::ch#4 char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_char::ch#4 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 print_char::ch#4 char_cursor#75 ] ) + [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) + [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) to:print_char::@return print_char::@return: scope:[print_char] from print_char - [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) + [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) to:@return print_sbyte: scope:[print_sbyte] from signed_multiply_error::@1 signed_multiply_error::@3 [104] (signed byte) print_sbyte::b#3 ← phi( signed_multiply_error::@1/(signed byte) print_sbyte::b#1 signed_multiply_error::@3/(signed byte) print_sbyte::b#2 ) [ char_cursor#117 print_sbyte::b#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sbyte::b#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sbyte::b#3 ] ) @@ -5357,15 +5358,15 @@ print_sbyte::@4: scope:[print_sbyte] from print_sbyte::@2 print_sbyte::@1: scope:[print_sbyte] from print_sbyte print_sbyte::@4 [109] (byte*) char_cursor#121 ← phi( print_sbyte/(byte*) char_cursor#117 print_sbyte::@4/(byte*) char_cursor#17 ) [ char_cursor#121 print_sbyte::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#121 print_sbyte::b#4 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#121 print_sbyte::b#4 ] ) [109] (signed byte) print_sbyte::b#4 ← phi( print_sbyte/(signed byte) print_sbyte::b#3 print_sbyte::@4/(signed byte) print_sbyte::b#0 ) [ char_cursor#121 print_sbyte::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#121 print_sbyte::b#4 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#121 print_sbyte::b#4 ] ) - [110] (byte) print_byte::b#0 ← ((byte)) (signed byte) print_sbyte::b#4 [ print_byte::b#0 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] ) + [110] (byte~) print_byte::b#9 ← (byte)(signed byte) print_sbyte::b#4 [ print_byte::b#9 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] ) [111] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] ) to:print_sbyte::@return print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1 [112] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] ) to:@return signed_multiply: scope:[signed_multiply] from signed_multiply_results_compare::@8 - [113] (byte) multiply::a#0 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ) - [114] (byte) multiply::b#0 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ) + [113] (byte~) multiply::a#4 ← (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ) + [114] (byte~) multiply::b#4 ← (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ) [115] call multiply param-assignment [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ) [116] (word) multiply::return#2 ← (word) multiply::return#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ) to:signed_multiply::@6 @@ -5375,289 +5376,286 @@ signed_multiply::@6: scope:[signed_multiply] from signed_multiply to:signed_multiply::@3 signed_multiply::@3: scope:[signed_multiply] from signed_multiply::@6 [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) - [120] (byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ) - [121] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) - [122] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) + [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) + [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) to:signed_multiply::@1 signed_multiply::@1: scope:[signed_multiply] from signed_multiply::@3 signed_multiply::@6 - [123] (word) signed_multiply::m#5 ← phi( signed_multiply::@3/(word) signed_multiply::m#1 signed_multiply::@6/(word) signed_multiply::m#0 ) [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ) - [124] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) + [122] (word) signed_multiply::m#5 ← phi( signed_multiply::@3/(word) signed_multiply::m#1 signed_multiply::@6/(word) signed_multiply::m#0 ) [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#5 ] ) + [123] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) to:signed_multiply::@4 signed_multiply::@4: scope:[signed_multiply] from signed_multiply::@1 - [125] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) - [126] (byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ) - [127] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) - [128] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) + [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) + [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) + [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) to:signed_multiply::@2 signed_multiply::@2: scope:[signed_multiply] from signed_multiply::@1 signed_multiply::@4 - [129] (word) signed_multiply::m#4 ← phi( signed_multiply::@1/(word) signed_multiply::m#5 signed_multiply::@4/(word) signed_multiply::m#2 ) [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) - [130] (signed word) signed_multiply::return#0 ← ((signed word)) (word) signed_multiply::m#4 [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) + [127] (word) signed_multiply::m#4 ← phi( signed_multiply::@1/(word) signed_multiply::m#5 signed_multiply::@4/(word) signed_multiply::m#2 ) [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) to:signed_multiply::@return signed_multiply::@return: scope:[signed_multiply] from signed_multiply::@2 - [131] return [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) + [128] return [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) to:@return multiply: scope:[multiply] from multiply_results_compare::@8 signed_multiply - [132] (byte) multiply::b#2 ← phi( multiply_results_compare::@8/(byte) multiply::b#1 signed_multiply/(byte) multiply::b#0 ) [ multiply::a#2 multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#2 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::a#2 multiply::b#2 ] ) - [132] (byte) multiply::a#2 ← phi( multiply_results_compare::@8/(byte) multiply::a#1 signed_multiply/(byte) multiply::a#0 ) [ multiply::a#2 multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#2 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::a#2 multiply::b#2 ] ) - [133] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) - [134] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [129] (byte) multiply::b#2 ← phi( multiply_results_compare::@8/(byte) multiply::b#1 signed_multiply/(byte~) multiply::b#4 ) [ multiply::a#2 multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#2 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::a#2 multiply::b#2 ] ) + [129] (byte) multiply::a#2 ← phi( multiply_results_compare::@8/(byte) multiply::a#1 signed_multiply/(byte~) multiply::a#4 ) [ multiply::a#2 multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#2 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::a#2 multiply::b#2 ] ) + [130] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) + [131] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } - [136] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) + [133] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) to:multiply::@return multiply::@return: scope:[multiply] from multiply - [137] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) + [134] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) to:@return slow_signed_multiply: scope:[slow_signed_multiply] from signed_multiply_results_compare::@2 - [138] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) + [135] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) to:slow_signed_multiply::@2 slow_signed_multiply::@2: scope:[slow_signed_multiply] from slow_signed_multiply slow_signed_multiply::@2 - [139] (signed byte) slow_signed_multiply::i#2 ← phi( slow_signed_multiply::@2/(signed byte) slow_signed_multiply::i#1 slow_signed_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ) - [139] (signed word) slow_signed_multiply::m#3 ← phi( slow_signed_multiply::@2/(signed word) slow_signed_multiply::m#1 slow_signed_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ) - [140] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) - [141] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) - [142] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) + [136] (signed byte) slow_signed_multiply::i#2 ← phi( slow_signed_multiply::@2/(signed byte) slow_signed_multiply::i#1 slow_signed_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ) + [136] (signed word) slow_signed_multiply::m#3 ← phi( slow_signed_multiply::@2/(signed word) slow_signed_multiply::m#1 slow_signed_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#3 slow_signed_multiply::i#2 ] ) + [137] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) + [138] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) + [139] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) to:slow_signed_multiply::@3 slow_signed_multiply::@3: scope:[slow_signed_multiply] from slow_signed_multiply::@1 slow_signed_multiply::@2 slow_signed_multiply::@5 - [143] (signed word) slow_signed_multiply::return#0 ← phi( slow_signed_multiply::@2/(signed word) slow_signed_multiply::m#1 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 slow_signed_multiply::@5/(signed word) slow_signed_multiply::m#2 ) [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) + [140] (signed word) slow_signed_multiply::return#0 ← phi( slow_signed_multiply::@2/(signed word) slow_signed_multiply::m#1 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 slow_signed_multiply::@5/(signed word) slow_signed_multiply::m#2 ) [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) to:slow_signed_multiply::@return slow_signed_multiply::@return: scope:[slow_signed_multiply] from slow_signed_multiply::@3 - [144] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) + [141] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) to:@return slow_signed_multiply::@1: scope:[slow_signed_multiply] from slow_signed_multiply - [145] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) + [142] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) to:slow_signed_multiply::@5 slow_signed_multiply::@5: scope:[slow_signed_multiply] from slow_signed_multiply::@1 slow_signed_multiply::@5 - [146] (signed byte) slow_signed_multiply::j#2 ← phi( slow_signed_multiply::@5/(signed byte) slow_signed_multiply::j#1 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ) - [146] (signed word) slow_signed_multiply::m#5 ← phi( slow_signed_multiply::@5/(signed word) slow_signed_multiply::m#2 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ) - [147] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) - [148] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) - [149] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) + [143] (signed byte) slow_signed_multiply::j#2 ← phi( slow_signed_multiply::@5/(signed byte) slow_signed_multiply::j#1 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ) + [143] (signed word) slow_signed_multiply::m#5 ← phi( slow_signed_multiply::@5/(signed word) slow_signed_multiply::m#2 slow_signed_multiply::@1/(byte/signed byte/word/signed word) 0 ) [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#5 slow_signed_multiply::j#2 ] ) + [144] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) + [145] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) + [146] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) to:slow_signed_multiply::@3 multiply_results_compare: scope:[multiply_results_compare] from main::@4 - [150] phi() [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 ] ) + [147] phi() [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 ] ) to:multiply_results_compare::@1 multiply_results_compare::@1: scope:[multiply_results_compare] from multiply_results_compare multiply_results_compare::@6 - [151] (byte) multiply_results_compare::a#6 ← phi( multiply_results_compare/(byte/signed byte/word/signed word) 0 multiply_results_compare::@6/(byte) multiply_results_compare::a#1 ) [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 ] ) + [148] (byte) multiply_results_compare::a#6 ← phi( multiply_results_compare/(byte/signed byte/word/signed word) 0 multiply_results_compare::@6/(byte) multiply_results_compare::a#1 ) [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 ] ) to:multiply_results_compare::@2 multiply_results_compare::@2: scope:[multiply_results_compare] from multiply_results_compare::@1 multiply_results_compare::@3 - [152] (byte) multiply_results_compare::b#2 ← phi( multiply_results_compare::@1/(byte/signed byte/word/signed word) 0 multiply_results_compare::@3/(byte) multiply_results_compare::b#1 ) [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 ] ) - [153] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) - [154] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) - [155] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) - [156] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) + [149] (byte) multiply_results_compare::b#2 ← phi( multiply_results_compare::@1/(byte/signed byte/word/signed word) 0 multiply_results_compare::@3/(byte) multiply_results_compare::b#1 ) [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 ] ) + [150] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) + [151] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) + [152] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + [153] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) to:multiply_results_compare::@8 multiply_results_compare::@8: scope:[multiply_results_compare] from multiply_results_compare::@2 - [157] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - [158] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - [159] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - [160] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - [161] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) + [154] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [155] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [156] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [157] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + [158] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) to:multiply_results_compare::@9 multiply_results_compare::@9: scope:[multiply_results_compare] from multiply_results_compare::@8 - [162] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) - [163] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) + [159] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) + [160] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) to:multiply_results_compare::@4 multiply_results_compare::@4: scope:[multiply_results_compare] from multiply_results_compare::@9 - [164] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) - [165] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) - [166] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) - [167] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) - [168] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - [169] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + [161] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) + [162] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) + [163] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) + [164] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) + [165] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [166] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) to:multiply_results_compare::@return multiply_results_compare::@return: scope:[multiply_results_compare] from multiply_results_compare::@11 multiply_results_compare::@4 - [170] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + [167] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) to:@return multiply_results_compare::@3: scope:[multiply_results_compare] from multiply_results_compare::@9 - [171] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) - [172] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) + [168] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) + [169] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) to:multiply_results_compare::@6 multiply_results_compare::@6: scope:[multiply_results_compare] from multiply_results_compare::@3 - [173] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) - [174] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) + [170] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) + [171] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) to:multiply_results_compare::@7 multiply_results_compare::@7: scope:[multiply_results_compare] from multiply_results_compare::@6 - [175] phi() [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 ] ) - [176] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) + [172] phi() [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 ] ) + [173] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) to:multiply_results_compare::@11 multiply_results_compare::@11: scope:[multiply_results_compare] from multiply_results_compare::@7 - [177] phi() [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) - [178] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + [174] phi() [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) + [175] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) to:multiply_results_compare::@return multiply_error: scope:[multiply_error] from multiply_results_compare::@4 - [179] phi() [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - [180] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [176] phi() [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [177] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@1 multiply_error::@1: scope:[multiply_error] from multiply_error - [181] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - [182] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [178] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [179] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@2 multiply_error::@2: scope:[multiply_error] from multiply_error::@1 - [183] phi() [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - [184] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [180] phi() [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + [181] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@3 multiply_error::@3: scope:[multiply_error] from multiply_error::@2 - [185] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) - [186] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + [182] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) + [183] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@4 multiply_error::@4: scope:[multiply_error] from multiply_error::@3 - [187] phi() [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) - [188] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + [184] phi() [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + [185] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) to:multiply_error::@5 multiply_error::@5: scope:[multiply_error] from multiply_error::@4 - [189] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) - [190] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) + [186] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) + [187] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) to:multiply_error::@6 multiply_error::@6: scope:[multiply_error] from multiply_error::@5 - [191] phi() [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) - [192] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) + [188] phi() [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) + [189] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) to:multiply_error::@7 multiply_error::@7: scope:[multiply_error] from multiply_error::@6 - [193] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) - [194] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 ] ) + [190] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) + [191] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 ] ) to:multiply_error::@8 multiply_error::@8: scope:[multiply_error] from multiply_error::@7 - [195] phi() [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 ] ) - [196] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) + [192] phi() [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 ] ) + [193] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) to:multiply_error::@return multiply_error::@return: scope:[multiply_error] from multiply_error::@8 - [197] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) + [194] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) to:@return slow_multiply: scope:[slow_multiply] from multiply_results_compare::@2 - [198] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) + [195] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) to:slow_multiply::@2 slow_multiply::@2: scope:[slow_multiply] from slow_multiply slow_multiply::@2 - [199] (byte) slow_multiply::i#2 ← phi( slow_multiply::@2/(byte) slow_multiply::i#1 slow_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ) - [199] (word) slow_multiply::m#3 ← phi( slow_multiply::@2/(word) slow_multiply::m#1 slow_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ) - [200] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) - [201] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) - [202] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) + [196] (byte) slow_multiply::i#2 ← phi( slow_multiply::@2/(byte) slow_multiply::i#1 slow_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ) + [196] (word) slow_multiply::m#3 ← phi( slow_multiply::@2/(word) slow_multiply::m#1 slow_multiply/(byte/signed byte/word/signed word) 0 ) [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#3 slow_multiply::i#2 ] ) + [197] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) + [198] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) + [199] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) to:slow_multiply::@1 slow_multiply::@1: scope:[slow_multiply] from slow_multiply slow_multiply::@2 - [203] (word) slow_multiply::return#0 ← phi( slow_multiply/(byte/signed byte/word/signed word) 0 slow_multiply::@2/(word) slow_multiply::m#1 ) [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + [200] (word) slow_multiply::return#0 ← phi( slow_multiply/(byte/signed byte/word/signed word) 0 slow_multiply::@2/(word) slow_multiply::m#1 ) [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) to:slow_multiply::@return slow_multiply::@return: scope:[slow_multiply] from slow_multiply::@1 - [204] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + [201] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) to:@return multiply_tables_compare: scope:[multiply_tables_compare] from main::@3 - [205] phi() [ ] ( main:2::multiply_tables_compare:11 [ ] ) + [202] phi() [ ] ( main:2::multiply_tables_compare:11 [ ] ) to:multiply_tables_compare::@1 multiply_tables_compare::@1: scope:[multiply_tables_compare] from multiply_tables_compare multiply_tables_compare::@2 - [206] (byte*) multiply_tables_compare::asm_sqr#2 ← phi( multiply_tables_compare/(const byte[512]) asm_mul_sqr1_lo#0 multiply_tables_compare::@2/(byte*) multiply_tables_compare::asm_sqr#1 ) [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - [206] (byte*) multiply_tables_compare::kc_sqr#2 ← phi( multiply_tables_compare/(const byte[512]) mul_sqr1_lo#0 multiply_tables_compare::@2/(byte*) multiply_tables_compare::kc_sqr#1 ) [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - [207] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [203] (byte*) multiply_tables_compare::asm_sqr#2 ← phi( multiply_tables_compare/(const byte[512]) asm_mul_sqr1_lo#0 multiply_tables_compare::@2/(byte*) multiply_tables_compare::asm_sqr#1 ) [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [203] (byte*) multiply_tables_compare::kc_sqr#2 ← phi( multiply_tables_compare/(const byte[512]) mul_sqr1_lo#0 multiply_tables_compare::@2/(byte*) multiply_tables_compare::kc_sqr#1 ) [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [204] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) to:multiply_tables_compare::@3 multiply_tables_compare::@3: scope:[multiply_tables_compare] from multiply_tables_compare::@1 - [208] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - [209] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [205] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + [206] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) to:multiply_tables_compare::@6 multiply_tables_compare::@6: scope:[multiply_tables_compare] from multiply_tables_compare::@3 - [210] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) - [211] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) + [207] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) + [208] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) to:multiply_tables_compare::@7 multiply_tables_compare::@7: scope:[multiply_tables_compare] from multiply_tables_compare::@6 - [212] phi() [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) - [213] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) + [209] phi() [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) + [210] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) to:multiply_tables_compare::@8 multiply_tables_compare::@8: scope:[multiply_tables_compare] from multiply_tables_compare::@7 - [214] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) - [215] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) + [211] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) + [212] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) to:multiply_tables_compare::@return multiply_tables_compare::@return: scope:[multiply_tables_compare] from multiply_tables_compare::@10 multiply_tables_compare::@8 - [216] (byte*) line_cursor#27 ← phi( multiply_tables_compare::@10/(byte*) line_cursor#1 multiply_tables_compare::@8/((byte*))(word/signed word) 1024 ) [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) - [216] (byte*) char_cursor#27 ← phi( multiply_tables_compare::@10/(byte*~) char_cursor#197 multiply_tables_compare::@8/(byte*) char_cursor#17 ) [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) - [217] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + [213] (byte*) line_cursor#27 ← phi( multiply_tables_compare::@10/(byte*) line_cursor#1 multiply_tables_compare::@8/((byte*))(word/signed word) 1024 ) [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + [213] (byte*) char_cursor#27 ← phi( multiply_tables_compare::@10/(byte*~) char_cursor#197 multiply_tables_compare::@8/(byte*) char_cursor#17 ) [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + [214] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) to:@return multiply_tables_compare::@2: scope:[multiply_tables_compare] from multiply_tables_compare::@1 - [218] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) - [219] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) - [220] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) + [215] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) + [216] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) + [217] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) to:multiply_tables_compare::@5 multiply_tables_compare::@5: scope:[multiply_tables_compare] from multiply_tables_compare::@2 - [221] phi() [ ] ( main:2::multiply_tables_compare:11 [ ] ) - [222] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) + [218] phi() [ ] ( main:2::multiply_tables_compare:11 [ ] ) + [219] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) to:multiply_tables_compare::@10 multiply_tables_compare::@10: scope:[multiply_tables_compare] from multiply_tables_compare::@5 - [223] phi() [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) - [224] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) - [225] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) + [220] phi() [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) + [221] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) + [222] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) to:multiply_tables_compare::@return init_multiply_asm: scope:[init_multiply_asm] from main::@2 asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } - [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) - [228] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) - [229] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) - [230] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) + [224] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) + [225] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) + [226] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) + [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) to:init_multiply_asm::@return init_multiply_asm::@return: scope:[init_multiply_asm] from init_multiply_asm - [231] return [ ] ( main:2::init_multiply_asm:9 [ ] ) + [228] return [ ] ( main:2::init_multiply_asm:9 [ ] ) to:@return init_multiply: scope:[init_multiply] from main::@1 - [232] phi() [ ] ( main:2::init_multiply:7 [ ] ) + [229] phi() [ ] ( main:2::init_multiply:7 [ ] ) to:init_multiply::@1 init_multiply::@1: scope:[init_multiply] from init_multiply init_multiply::@2 - [233] (byte) init_multiply::x_2#3 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(byte) init_multiply::x_2#2 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [233] (byte*) init_multiply::sqr1_hi#2 ← phi( init_multiply/(const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 init_multiply::@2/(byte*) init_multiply::sqr1_hi#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [233] (byte*) init_multiply::sqr1_lo#2 ← phi( init_multiply/(const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 init_multiply::@2/(byte*) init_multiply::sqr1_lo#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [233] (word) init_multiply::sqr#4 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(word) init_multiply::sqr#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [233] (byte) init_multiply::c#2 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(byte) init_multiply::c#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) - [234] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) - [235] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) - [236] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) + [230] (byte) init_multiply::x_2#3 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(byte) init_multiply::x_2#2 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [230] (byte*) init_multiply::sqr1_hi#2 ← phi( init_multiply/(const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 init_multiply::@2/(byte*) init_multiply::sqr1_hi#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [230] (byte*) init_multiply::sqr1_lo#2 ← phi( init_multiply/(const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 init_multiply::@2/(byte*) init_multiply::sqr1_lo#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [230] (word) init_multiply::sqr#4 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(word) init_multiply::sqr#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [230] (byte) init_multiply::c#2 ← phi( init_multiply/(byte/signed byte/word/signed word) 0 init_multiply::@2/(byte) init_multiply::c#1 ) [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ( main:2::init_multiply:7 [ init_multiply::c#2 init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 ] ) + [231] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) + [232] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) + [233] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) to:init_multiply::@5 init_multiply::@5: scope:[init_multiply] from init_multiply::@1 - [237] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) - [238] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) + [234] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) + [235] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) to:init_multiply::@2 init_multiply::@2: scope:[init_multiply] from init_multiply::@1 init_multiply::@5 - [239] (byte) init_multiply::x_2#2 ← phi( init_multiply::@1/(byte) init_multiply::x_2#3 init_multiply::@5/(byte) init_multiply::x_2#1 ) [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [239] (word) init_multiply::sqr#3 ← phi( init_multiply::@1/(word) init_multiply::sqr#4 init_multiply::@5/(word) init_multiply::sqr#2 ) [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [240] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) - [241] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [242] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) - [243] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [244] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) - [245] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) - [246] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) - [247] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) + [236] (byte) init_multiply::x_2#2 ← phi( init_multiply::@1/(byte) init_multiply::x_2#3 init_multiply::@5/(byte) init_multiply::x_2#1 ) [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [236] (word) init_multiply::sqr#3 ← phi( init_multiply::@1/(word) init_multiply::sqr#4 init_multiply::@5/(word) init_multiply::sqr#2 ) [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [237] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) + [238] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [239] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) + [240] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [241] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) + [242] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) + [243] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) + [244] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) to:init_multiply::@3 init_multiply::@3: scope:[init_multiply] from init_multiply::@2 init_multiply::@4 - [248] (byte) init_multiply::dir#2 ← phi( init_multiply::@4/(byte) init_multiply::dir#3 init_multiply::@2/(byte/word/signed word) 255 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [248] (byte*) init_multiply::sqr2_hi#2 ← phi( init_multiply::@4/(byte*) init_multiply::sqr2_hi#1 init_multiply::@2/(const byte[512]) mul_sqr2_hi#0 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [248] (byte*) init_multiply::sqr2_lo#2 ← phi( init_multiply::@4/(byte*) init_multiply::sqr2_lo#1 init_multiply::@2/(const byte[512]) mul_sqr2_lo#0 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [248] (byte) init_multiply::x_255#2 ← phi( init_multiply::@4/(byte) init_multiply::x_255#1 init_multiply::@2/((byte))-(byte/signed byte/word/signed word) 1 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [249] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [250] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) - [251] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) - [252] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) - [253] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) + [245] (byte) init_multiply::dir#2 ← phi( init_multiply::@4/(byte) init_multiply::dir#3 init_multiply::@2/(byte/word/signed word) 255 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [245] (byte*) init_multiply::sqr2_hi#2 ← phi( init_multiply::@4/(byte*) init_multiply::sqr2_hi#1 init_multiply::@2/(const byte[512]) mul_sqr2_hi#0 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [245] (byte*) init_multiply::sqr2_lo#2 ← phi( init_multiply::@4/(byte*) init_multiply::sqr2_lo#1 init_multiply::@2/(const byte[512]) mul_sqr2_lo#0 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [245] (byte) init_multiply::x_255#2 ← phi( init_multiply::@4/(byte) init_multiply::x_255#1 init_multiply::@2/((byte))-(byte/signed byte/word/signed word) 1 ) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [246] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [247] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) + [248] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) + [249] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) + [250] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) to:init_multiply::@4 init_multiply::@4: scope:[init_multiply] from init_multiply::@12 init_multiply::@3 - [254] (byte) init_multiply::dir#3 ← phi( init_multiply::@12/(byte) init_multiply::dir#2 init_multiply::@3/(byte/signed byte/word/signed word) 1 ) [ init_multiply::sqr2_lo#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) - [255] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) - [256] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) + [251] (byte) init_multiply::dir#3 ← phi( init_multiply::@12/(byte) init_multiply::dir#2 init_multiply::@3/(byte/signed byte/word/signed word) 1 ) [ init_multiply::sqr2_lo#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) + [252] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) + [253] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) to:init_multiply::@8 init_multiply::@8: scope:[init_multiply] from init_multiply::@4 - [257] *((const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_lo#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) - [258] *((const byte[512]) mul_sqr2_hi#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_hi#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) + [254] *((const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_lo#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) + [255] *((const byte[512]) mul_sqr2_hi#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_hi#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) to:init_multiply::@return init_multiply::@return: scope:[init_multiply] from init_multiply::@8 - [259] return [ ] ( main:2::init_multiply:7 [ ] ) + [256] return [ ] ( main:2::init_multiply:7 [ ] ) to:@return init_multiply::@12: scope:[init_multiply] from init_multiply::@3 - [260] phi() [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) + [257] phi() [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) to:init_multiply::@4 print_cls: scope:[print_cls] from main - [261] phi() [ ] ( main:2::print_cls:5 [ ] ) + [258] phi() [ ] ( main:2::print_cls:5 [ ] ) to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [262] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) - [263] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) - [264] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) - [265] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) + [259] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) + [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) + [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) + [262] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [266] return [ ] ( main:2::print_cls:5 [ ] ) + [263] return [ ] ( main:2::print_cls:5 [ ] ) to:@return DOMINATORS @@ -5942,13 +5940,13 @@ VARIABLE REGISTER WEIGHTS (byte[512]) mul_sqr2_lo (word()) multiply((byte) multiply::a , (byte) multiply::b) (byte) multiply::a -(byte) multiply::a#0 2.0 (byte) multiply::a#1 101.0 (byte) multiply::a#2 105.0 +(byte~) multiply::a#4 2.0 (byte) multiply::b -(byte) multiply::b#0 4.0 (byte) multiply::b#1 202.0 (byte) multiply::b#2 52.5 +(byte~) multiply::b#4 4.0 (byte*) multiply::memA (byte*) multiply::memB (word) multiply::return @@ -5986,12 +5984,12 @@ VARIABLE REGISTER WEIGHTS (byte~) print_byte::$0 4.0 (byte~) print_byte::$2 4.0 (byte) print_byte::b -(byte) print_byte::b#0 4.0 (byte) print_byte::b#1 4.0 (byte) print_byte::b#2 4.0 (byte) print_byte::b#3 4.0 (byte) print_byte::b#4 4.0 (byte) print_byte::b#5 3.5 +(byte~) print_byte::b#9 4.0 (byte[]) print_byte::hextab (void()) print_char((byte) print_char::ch) (byte) print_char::ch @@ -6009,7 +6007,7 @@ VARIABLE REGISTER WEIGHTS (signed byte) print_sbyte::b#1 4.0 (signed byte) print_sbyte::b#2 4.0 (signed byte) print_sbyte::b#3 2.5 -(signed byte) print_sbyte::b#4 6.0 +(signed byte) print_sbyte::b#4 4.0 (void()) print_str((byte*) print_str::str) (byte*) print_str::str (byte*) print_str::str#0 22.0 @@ -6021,34 +6019,31 @@ VARIABLE REGISTER WEIGHTS (signed word) print_sword::w#1 4.0 (signed word) print_sword::w#2 4.0 (signed word) print_sword::w#3 2.5 -(signed word) print_sword::w#4 6.0 +(signed word) print_sword::w#4 4.0 (void()) print_word((word) print_word::w) (word) print_word::w -(word) print_word::w#0 4.0 (word) print_word::w#1 4.0 +(word~) print_word::w#11 4.0 (word) print_word::w#2 4.0 (word) print_word::w#3 4.0 (word) print_word::w#4 4.0 (word) print_word::w#5 4.666666666666666 (signed word()) signed_multiply((signed byte) signed_multiply::a , (signed byte) signed_multiply::b) -(byte~) signed_multiply::$12 2.0 -(byte~) signed_multiply::$13 4.0 +(byte~) signed_multiply::$12 4.0 (byte/signed byte/word/signed word~) signed_multiply::$16 4.0 (byte/signed byte/word/signed word~) signed_multiply::$17 4.0 -(byte~) signed_multiply::$6 2.0 -(byte~) signed_multiply::$7 4.0 +(byte~) signed_multiply::$6 4.0 (signed byte) signed_multiply::a -(signed byte) signed_multiply::a#0 7.133333333333335 +(signed byte) signed_multiply::a#0 7.357142857142858 (signed byte) signed_multiply::b -(signed byte) signed_multiply::b#0 8.916666666666664 +(signed byte) signed_multiply::b#0 9.363636363636363 (word) signed_multiply::m -(word) signed_multiply::m#0 1.6 +(word) signed_multiply::m#0 2.0 (word) signed_multiply::m#1 4.0 (word) signed_multiply::m#2 4.0 -(word) signed_multiply::m#4 6.0 -(word) signed_multiply::m#5 2.0 +(word) signed_multiply::m#4 1.3333333333333333 +(word) signed_multiply::m#5 2.5 (signed word) signed_multiply::return -(signed word) signed_multiply::return#0 34.33333333333333 (signed word) signed_multiply::return#2 202.0 (void()) signed_multiply_error((signed byte) signed_multiply_error::a , (signed byte) signed_multiply_error::b , (signed word) signed_multiply_error::ms , (signed word) signed_multiply_error::ma) (signed byte) signed_multiply_error::a @@ -6110,14 +6105,14 @@ Initial phi equivalence classes [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 ] [ print_str::str#14 print_str::str#16 print_str::str#0 ] [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] -[ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 ] -[ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] +[ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] +[ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ] [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] -[ multiply::a#2 multiply::a#1 multiply::a#0 ] -[ multiply::b#2 multiply::b#1 multiply::b#0 ] +[ multiply::a#2 multiply::a#1 multiply::a#4 ] +[ multiply::b#2 multiply::b#1 multiply::b#4 ] [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] @@ -6153,12 +6148,9 @@ Added variable print_byte::$0 to zero page equivalence class [ print_byte::$0 ] Added variable print_byte::$2 to zero page equivalence class [ print_byte::$2 ] Added variable multiply::return#2 to zero page equivalence class [ multiply::return#2 ] Added variable signed_multiply::$6 to zero page equivalence class [ signed_multiply::$6 ] -Added variable signed_multiply::$7 to zero page equivalence class [ signed_multiply::$7 ] Added variable signed_multiply::$16 to zero page equivalence class [ signed_multiply::$16 ] Added variable signed_multiply::$12 to zero page equivalence class [ signed_multiply::$12 ] -Added variable signed_multiply::$13 to zero page equivalence class [ signed_multiply::$13 ] Added variable signed_multiply::$17 to zero page equivalence class [ signed_multiply::$17 ] -Added variable signed_multiply::return#0 to zero page equivalence class [ signed_multiply::return#0 ] Added variable multiply::return#0 to zero page equivalence class [ multiply::return#0 ] Added variable slow_multiply::a#0 to zero page equivalence class [ slow_multiply::a#0 ] Added variable slow_multiply::b#0 to zero page equivalence class [ slow_multiply::b#0 ] @@ -6179,14 +6171,14 @@ Complete equivalence classes [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 ] [ print_str::str#14 print_str::str#16 print_str::str#0 ] [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] -[ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 ] -[ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] +[ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] +[ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ] [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] -[ multiply::a#2 multiply::a#1 multiply::a#0 ] -[ multiply::b#2 multiply::b#1 multiply::b#0 ] +[ multiply::a#2 multiply::a#1 multiply::a#4 ] +[ multiply::b#2 multiply::b#1 multiply::b#4 ] [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] @@ -6222,12 +6214,9 @@ Complete equivalence classes [ print_byte::$2 ] [ multiply::return#2 ] [ signed_multiply::$6 ] -[ signed_multiply::$7 ] [ signed_multiply::$16 ] [ signed_multiply::$12 ] -[ signed_multiply::$13 ] [ signed_multiply::$17 ] -[ signed_multiply::return#0 ] [ multiply::return#0 ] [ slow_multiply::a#0 ] [ slow_multiply::b#0 ] @@ -6247,14 +6236,14 @@ Allocated zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_re Allocated zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 ] Allocated zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 ] Allocated zp ZP_WORD:8 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] -Allocated zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 ] -Allocated zp ZP_BYTE:12 [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] +Allocated zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] +Allocated zp ZP_BYTE:12 [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] Allocated zp ZP_BYTE:13 [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] Allocated zp ZP_WORD:14 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ] Allocated zp ZP_BYTE:16 [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] Allocated zp ZP_WORD:17 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] -Allocated zp ZP_BYTE:19 [ multiply::a#2 multiply::a#1 multiply::a#0 ] -Allocated zp ZP_BYTE:20 [ multiply::b#2 multiply::b#1 multiply::b#0 ] +Allocated zp ZP_BYTE:19 [ multiply::a#2 multiply::a#1 multiply::a#4 ] +Allocated zp ZP_BYTE:20 [ multiply::b#2 multiply::b#1 multiply::b#4 ] Allocated zp ZP_BYTE:21 [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] Allocated zp ZP_WORD:22 [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] Allocated zp ZP_BYTE:24 [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] @@ -6290,26 +6279,23 @@ Allocated zp ZP_BYTE:68 [ print_byte::$0 ] Allocated zp ZP_BYTE:69 [ print_byte::$2 ] Allocated zp ZP_WORD:70 [ multiply::return#2 ] Allocated zp ZP_BYTE:72 [ signed_multiply::$6 ] -Allocated zp ZP_BYTE:73 [ signed_multiply::$7 ] -Allocated zp ZP_BYTE:74 [ signed_multiply::$16 ] -Allocated zp ZP_BYTE:75 [ signed_multiply::$12 ] -Allocated zp ZP_BYTE:76 [ signed_multiply::$13 ] -Allocated zp ZP_BYTE:77 [ signed_multiply::$17 ] -Allocated zp ZP_WORD:78 [ signed_multiply::return#0 ] -Allocated zp ZP_WORD:80 [ multiply::return#0 ] -Allocated zp ZP_BYTE:82 [ slow_multiply::a#0 ] -Allocated zp ZP_BYTE:83 [ slow_multiply::b#0 ] -Allocated zp ZP_WORD:84 [ slow_multiply::return#2 ] -Allocated zp ZP_WORD:86 [ multiply_results_compare::ms#0 ] -Allocated zp ZP_WORD:88 [ multiply::return#3 ] -Allocated zp ZP_WORD:90 [ multiply_results_compare::ma#0 ] -Allocated zp ZP_BYTE:92 [ multiply_error::a#0 ] -Allocated zp ZP_BYTE:93 [ multiply_error::b#0 ] -Allocated zp ZP_WORD:94 [ multiply_error::ms#0 ] -Allocated zp ZP_WORD:96 [ multiply_error::ma#0 ] -Allocated zp ZP_BYTE:98 [ init_multiply::$2 ] -Allocated zp ZP_BYTE:99 [ init_multiply::$5 ] -Allocated zp ZP_BYTE:100 [ init_multiply::$6 ] +Allocated zp ZP_BYTE:73 [ signed_multiply::$16 ] +Allocated zp ZP_BYTE:74 [ signed_multiply::$12 ] +Allocated zp ZP_BYTE:75 [ signed_multiply::$17 ] +Allocated zp ZP_WORD:76 [ multiply::return#0 ] +Allocated zp ZP_BYTE:78 [ slow_multiply::a#0 ] +Allocated zp ZP_BYTE:79 [ slow_multiply::b#0 ] +Allocated zp ZP_WORD:80 [ slow_multiply::return#2 ] +Allocated zp ZP_WORD:82 [ multiply_results_compare::ms#0 ] +Allocated zp ZP_WORD:84 [ multiply::return#3 ] +Allocated zp ZP_WORD:86 [ multiply_results_compare::ma#0 ] +Allocated zp ZP_BYTE:88 [ multiply_error::a#0 ] +Allocated zp ZP_BYTE:89 [ multiply_error::b#0 ] +Allocated zp ZP_WORD:90 [ multiply_error::ms#0 ] +Allocated zp ZP_WORD:92 [ multiply_error::ma#0 ] +Allocated zp ZP_BYTE:94 [ init_multiply::$2 ] +Allocated zp ZP_BYTE:95 [ init_multiply::$5 ] +Allocated zp ZP_BYTE:96 [ init_multiply::$6 ] INITIAL ASM //SEG0 Basic Upstart @@ -6340,7 +6326,7 @@ main: { lda #5 sta BGCOL //SEG10 [5] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG11 [261] phi from main to print_cls [phi:main->print_cls] + //SEG11 [258] phi from main to print_cls [phi:main->print_cls] print_cls_from_main: jsr print_cls //SEG12 [6] phi from main to main::@1 [phi:main->main::@1] @@ -6349,7 +6335,7 @@ main: { //SEG13 main::@1 b1: //SEG14 [7] call init_multiply param-assignment [ ] ( main:2 [ ] ) - //SEG15 [232] phi from main::@1 to init_multiply [phi:main::@1->init_multiply] + //SEG15 [229] phi from main::@1 to init_multiply [phi:main::@1->init_multiply] init_multiply_from_b1: jsr init_multiply //SEG16 [8] phi from main::@1 to main::@2 [phi:main::@1->main::@2] @@ -6365,7 +6351,7 @@ main: { //SEG20 main::@3 b3: //SEG21 [11] call multiply_tables_compare param-assignment [ line_cursor#27 char_cursor#27 ] ( main:2 [ line_cursor#27 char_cursor#27 ] ) - //SEG22 [205] phi from main::@3 to multiply_tables_compare [phi:main::@3->multiply_tables_compare] + //SEG22 [202] phi from main::@3 to multiply_tables_compare [phi:main::@3->multiply_tables_compare] multiply_tables_compare_from_b3: jsr multiply_tables_compare //SEG23 [12] phi from main::@3 to main::@4 [phi:main::@3->main::@4] @@ -6374,7 +6360,7 @@ main: { //SEG24 main::@4 b4: //SEG25 [13] call multiply_results_compare param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] ) - //SEG26 [150] phi from main::@4 to multiply_results_compare [phi:main::@4->multiply_results_compare] + //SEG26 [147] phi from main::@4 to multiply_results_compare [phi:main::@4->multiply_results_compare] multiply_results_compare_from_b4: jsr multiply_results_compare //SEG27 [14] phi from main::@4 to main::@5 [phi:main::@4->main::@5] @@ -6449,20 +6435,20 @@ signed_multiply_results_compare: { //SEG51 [26] (signed byte) signed_multiply::b#0 ← (signed byte) signed_multiply_results_compare::b#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ) -- vbsz1=vbsz2 lda b sta signed_multiply.b - //SEG52 [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ) + //SEG52 [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ) jsr signed_multiply - //SEG53 [28] (signed word) signed_multiply::return#2 ← (signed word) signed_multiply::return#0 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) -- vwsz1=vwsz2 - lda signed_multiply.return - sta signed_multiply.return_2 - lda signed_multiply.return+1 - sta signed_multiply.return_2+1 + //SEG53 [28] (signed word) signed_multiply::return#2 ← (signed word)(word) signed_multiply::m#4 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) -- vwsz1=vwsz2 + lda signed_multiply.m + sta signed_multiply.return + lda signed_multiply.m+1 + sta signed_multiply.return+1 jmp b9 //SEG54 signed_multiply_results_compare::@9 b9: //SEG55 [29] (signed word) signed_multiply_results_compare::ma#0 ← (signed word) signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) -- vwsz1=vwsz2 - lda signed_multiply.return_2 + lda signed_multiply.return sta ma - lda signed_multiply.return_2+1 + lda signed_multiply.return+1 sta ma+1 //SEG56 [30] if((signed word) signed_multiply_results_compare::ms#0==(signed word) signed_multiply_results_compare::ma#0) goto signed_multiply_results_compare::@3 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) -- vwsz1_eq_vwsz2_then_la1 lda ms @@ -6559,7 +6545,7 @@ print_ln: { jmp b1 //SEG87 print_ln::@1 b1: - //SEG88 [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG88 [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line_cursor clc adc #$28 @@ -6567,7 +6553,7 @@ print_ln: { bcc !+ inc line_cursor+1 !: - //SEG89 [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG89 [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1_lt_pbuz2_then_la1 lda line_cursor+1 cmp char_cursor+1 bcc b1_from_b1 @@ -6579,7 +6565,7 @@ print_ln: { jmp breturn //SEG90 print_ln::@return breturn: - //SEG91 [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 ] ) + //SEG91 [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 ] ) rts } //SEG92 print_str @@ -6593,7 +6579,7 @@ print_str: { jmp b1 //SEG96 print_str::@1 b1: - //SEG97 [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG97 [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' @@ -6601,21 +6587,21 @@ print_str: { jmp breturn //SEG98 print_str::@return breturn: - //SEG99 [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 ] ) + //SEG99 [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 ] ) rts //SEG100 print_str::@2 b2: - //SEG101 [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG101 [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (char_cursor),y - //SEG102 [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#14 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG102 [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#14 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: - //SEG103 [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG103 [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 @@ -6797,7 +6783,7 @@ print_sword: { jmp b1 //SEG169 print_sword::@1 b1: - //SEG170 [83] (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 [ char_cursor#119 print_word::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#0 ] ) -- vwuz1=_word_vwsz2 + //SEG170 [83] (word~) print_word::w#11 ← (word)(signed word) print_sword::w#4 [ char_cursor#119 print_word::w#11 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#11 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#11 ] ) -- vwuz1=vwuz2 lda w sta print_word.w lda w+1 @@ -6806,7 +6792,7 @@ print_sword: { //SEG172 [86] phi from print_sword::@1 to print_word [phi:print_sword::@1->print_word] print_word_from_b1: //SEG173 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#119 [phi:print_sword::@1->print_word#0] -- register_copy - //SEG174 [86] phi (word) print_word::w#5 = (word) print_word::w#0 [phi:print_sword::@1->print_word#1] -- register_copy + //SEG174 [86] phi (word) print_word::w#5 = (word~) print_word::w#11 [phi:print_sword::@1->print_word#1] -- register_copy jsr print_word jmp breturn //SEG175 print_sword::@return @@ -6817,10 +6803,10 @@ print_sword: { //SEG177 print_word print_word: { .label w = $a - //SEG178 [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) -- vbuz1=_hi_vwuz2 + //SEG178 [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) -- vbuz1=_hi_vwuz2 lda w+1 sta print_byte.b - //SEG179 [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_word::w#5 ] ) + //SEG179 [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_word::w#5 ] ) //SEG180 [92] phi from print_word to print_byte [phi:print_word->print_byte] print_byte_from_print_word: //SEG181 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#123 [phi:print_word->print_byte#0] -- register_copy @@ -6829,10 +6815,10 @@ print_word: { jmp b1 //SEG183 print_word::@1 b1: - //SEG184 [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_byte::b#2 ] ) -- vbuz1=_lo_vwuz2 + //SEG184 [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_byte::b#2 ] ) -- vbuz1=_lo_vwuz2 lda w sta print_byte.b - //SEG185 [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + //SEG185 [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) //SEG186 [92] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] print_byte_from_b1: //SEG187 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#17 [phi:print_word::@1->print_byte#0] -- register_copy @@ -6841,7 +6827,7 @@ print_word: { jmp breturn //SEG189 print_word::@return breturn: - //SEG190 [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + //SEG190 [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) rts } //SEG191 print_byte @@ -6849,18 +6835,18 @@ print_byte: { .label _0 = $44 .label _2 = $45 .label b = $c - //SEG192 [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 + //SEG192 [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) -- vbuz1=vbuz2_ror_4 lda b lsr lsr lsr lsr sta _0 - //SEG193 [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG193 [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _0 lda hextab,y sta print_char.ch - //SEG194 [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) + //SEG194 [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) //SEG195 [100] phi from print_byte to print_char [phi:print_byte->print_char] print_char_from_print_byte: //SEG196 [100] phi (byte*) char_cursor#75 = (byte*) char_cursor#124 [phi:print_byte->print_char#0] -- register_copy @@ -6869,15 +6855,15 @@ print_byte: { jmp b1 //SEG198 print_byte::@1 b1: - //SEG199 [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG199 [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #$f and b sta _2 - //SEG200 [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG200 [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _2 lda hextab,y sta print_char.ch - //SEG201 [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + //SEG201 [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) //SEG202 [100] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: //SEG203 [100] phi (byte*) char_cursor#75 = (byte*) char_cursor#17 [phi:print_byte::@1->print_char#0] -- register_copy @@ -6886,18 +6872,18 @@ print_byte: { jmp breturn //SEG205 print_byte::@return breturn: - //SEG206 [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + //SEG206 [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) rts hextab: .text "0123456789abcdef" } //SEG207 print_char print_char: { .label ch = $d - //SEG208 [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) -- _deref_pbuz1=vbuz2 + //SEG208 [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (char_cursor),y - //SEG209 [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 + //SEG209 [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 @@ -6905,7 +6891,7 @@ print_char: { jmp breturn //SEG210 print_char::@return breturn: - //SEG211 [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) + //SEG211 [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) rts } //SEG212 print_sbyte @@ -6945,14 +6931,14 @@ print_sbyte: { jmp b1 //SEG225 print_sbyte::@1 b1: - //SEG226 [110] (byte) print_byte::b#0 ← ((byte)) (signed byte) print_sbyte::b#4 [ print_byte::b#0 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] ) -- vbuz1=_byte_vbsz2 + //SEG226 [110] (byte~) print_byte::b#9 ← (byte)(signed byte) print_sbyte::b#4 [ print_byte::b#9 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] ) -- vbuz1=vbuz2 lda b sta print_byte.b //SEG227 [111] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] ) //SEG228 [92] phi from print_sbyte::@1 to print_byte [phi:print_sbyte::@1->print_byte] print_byte_from_b1: //SEG229 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#121 [phi:print_sbyte::@1->print_byte#0] -- register_copy - //SEG230 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#0 [phi:print_sbyte::@1->print_byte#1] -- register_copy + //SEG230 [92] phi (byte) print_byte::b#5 = (byte~) print_byte::b#9 [phi:print_sbyte::@1->print_byte#1] -- register_copy jsr print_byte jmp breturn //SEG231 print_sbyte::@return @@ -6963,27 +6949,24 @@ print_sbyte: { //SEG233 signed_multiply signed_multiply: { .label _6 = $48 - .label _7 = $49 - .label _12 = $4b - .label _13 = $4c - .label _16 = $4a - .label _17 = $4d + .label _12 = $4a + .label _16 = $49 + .label _17 = $4b .label m = $11 - .label return = $4e .label a = $38 .label b = $39 - .label return_2 = $3a - //SEG234 [113] (byte) multiply::a#0 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ) -- vbuz1=_byte_vbsz2 + .label return = $3a + //SEG234 [113] (byte~) multiply::a#4 ← (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ) -- vbuz1=vbuz2 lda a sta multiply.a - //SEG235 [114] (byte) multiply::b#0 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ) -- vbuz1=_byte_vbsz2 + //SEG235 [114] (byte~) multiply::b#4 ← (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ) -- vbuz1=vbuz2 lda b sta multiply.b //SEG236 [115] call multiply param-assignment [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ) - //SEG237 [132] phi from signed_multiply to multiply [phi:signed_multiply->multiply] + //SEG237 [129] phi from signed_multiply to multiply [phi:signed_multiply->multiply] multiply_from_signed_multiply: - //SEG238 [132] phi (byte) multiply::b#2 = (byte) multiply::b#0 [phi:signed_multiply->multiply#0] -- register_copy - //SEG239 [132] phi (byte) multiply::a#2 = (byte) multiply::a#0 [phi:signed_multiply->multiply#1] -- register_copy + //SEG238 [129] phi (byte) multiply::b#2 = (byte~) multiply::b#4 [phi:signed_multiply->multiply#0] -- register_copy + //SEG239 [129] phi (byte) multiply::a#2 = (byte~) multiply::a#4 [phi:signed_multiply->multiply#1] -- register_copy jsr multiply //SEG240 [116] (word) multiply::return#2 ← (word) multiply::return#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ) -- vwuz1=vwuz2 lda multiply.return @@ -7008,79 +6991,68 @@ signed_multiply: { //SEG245 [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) -- vbuz1=_hi_vwuz2 lda m+1 sta _6 - //SEG246 [120] (byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ) -- vbuz1=_byte_vbsz2 - lda b - sta _7 - //SEG247 [121] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuz1=vbuz2_minus_vbuz3 + //SEG246 [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuz1=vbuz2_minus_vbuz3 lda _6 sec - sbc _7 + sbc b sta _16 - //SEG248 [122] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuz2 + //SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuz2 lda _16 sta m+1 - //SEG249 [123] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1] + //SEG248 [122] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1] b1_from_b3: b1_from_b6: - //SEG250 [123] phi (word) signed_multiply::m#5 = (word) signed_multiply::m#1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1#0] -- register_copy + //SEG249 [122] phi (word) signed_multiply::m#5 = (word) signed_multiply::m#1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1#0] -- register_copy jmp b1 - //SEG251 signed_multiply::@1 + //SEG250 signed_multiply::@1 b1: - //SEG252 [124] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) -- vbsz1_ge_0_then_la1 + //SEG251 [123] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) -- vbsz1_ge_0_then_la1 lda b cmp #0 bpl b2_from_b1 jmp b4 - //SEG253 signed_multiply::@4 + //SEG252 signed_multiply::@4 b4: - //SEG254 [125] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuz1=_hi_vwuz2 + //SEG253 [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuz1=_hi_vwuz2 lda m+1 sta _12 - //SEG255 [126] (byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ) -- vbuz1=_byte_vbsz2 - lda a - sta _13 - //SEG256 [127] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuz1=vbuz2_minus_vbuz3 + //SEG254 [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuz1=vbuz2_minus_vbuz3 lda _12 sec - sbc _13 + sbc a sta _17 - //SEG257 [128] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuz2 + //SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuz2 lda _17 sta m+1 - //SEG258 [129] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2] + //SEG256 [127] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2] b2_from_b1: b2_from_b4: - //SEG259 [129] phi (word) signed_multiply::m#4 = (word) signed_multiply::m#5 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2#0] -- register_copy + //SEG257 [127] phi (word) signed_multiply::m#4 = (word) signed_multiply::m#5 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2#0] -- register_copy jmp b2 - //SEG260 signed_multiply::@2 + //SEG258 signed_multiply::@2 b2: - //SEG261 [130] (signed word) signed_multiply::return#0 ← ((signed word)) (word) signed_multiply::m#4 [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) -- vwsz1=_sword_vwuz2 - lda m - sta return - lda m+1 - sta return+1 jmp breturn - //SEG262 signed_multiply::@return + //SEG259 signed_multiply::@return breturn: - //SEG263 [131] return [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) + //SEG260 [128] return [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) rts } -//SEG264 multiply +//SEG261 multiply multiply: { .const memA = $fe .const memB = $ff - .label return = $50 + .label return = $4c + .label return_2 = $46 .label a = $13 .label b = $14 - .label return_2 = $46 - .label return_3 = $58 - //SEG265 [133] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) -- _deref_pbuc1=vbuz1 + .label return_3 = $54 + //SEG262 [130] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) -- _deref_pbuc1=vbuz1 lda a sta memA - //SEG266 [134] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- _deref_pbuc1=vbuz1 + //SEG263 [131] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- _deref_pbuc1=vbuz1 lda b sta memB - //SEG267 asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } + //SEG264 asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } lda memA sta sm1+1 sta sm3+1 @@ -7099,18 +7071,18 @@ multiply: { sm4: sbc mul_sqr2_hi,x sta memB - //SEG268 [136] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG265 [133] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda memA sta return lda memB sta return+1 jmp breturn - //SEG269 multiply::@return + //SEG266 multiply::@return breturn: - //SEG270 [137] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) + //SEG267 [134] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) rts } -//SEG271 slow_signed_multiply +//SEG268 slow_signed_multiply slow_signed_multiply: { .label m = $16 .label i = $15 @@ -7119,29 +7091,29 @@ slow_signed_multiply: { .label a = $32 .label b = $33 .label return_2 = $34 - //SEG272 [138] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_ge_0_then_la1 + //SEG269 [135] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_ge_0_then_la1 lda a cmp #0 bpl b1 - //SEG273 [139] phi from slow_signed_multiply to slow_signed_multiply::@2 [phi:slow_signed_multiply->slow_signed_multiply::@2] + //SEG270 [136] phi from slow_signed_multiply to slow_signed_multiply::@2 [phi:slow_signed_multiply->slow_signed_multiply::@2] b2_from_slow_signed_multiply: - //SEG274 [139] phi (signed byte) slow_signed_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#0] -- vbsz1=vbuc1 + //SEG271 [136] phi (signed byte) slow_signed_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#0] -- vbsz1=vbuc1 lda #0 sta i - //SEG275 [139] phi (signed word) slow_signed_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#1] -- vwsz1=vbuc1 + //SEG272 [136] phi (signed word) slow_signed_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#1] -- vwsz1=vbuc1 lda #0 sta m lda #0 sta m+1 jmp b2 - //SEG276 [139] phi from slow_signed_multiply::@2 to slow_signed_multiply::@2 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2] + //SEG273 [136] phi from slow_signed_multiply::@2 to slow_signed_multiply::@2 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2] b2_from_b2: - //SEG277 [139] phi (signed byte) slow_signed_multiply::i#2 = (signed byte) slow_signed_multiply::i#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#0] -- register_copy - //SEG278 [139] phi (signed word) slow_signed_multiply::m#3 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#1] -- register_copy + //SEG274 [136] phi (signed byte) slow_signed_multiply::i#2 = (signed byte) slow_signed_multiply::i#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#0] -- register_copy + //SEG275 [136] phi (signed word) slow_signed_multiply::m#3 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#1] -- register_copy jmp b2 - //SEG279 slow_signed_multiply::@2 + //SEG276 slow_signed_multiply::@2 b2: - //SEG280 [140] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) -- vwsz1=vwsz1_minus_vbsz2 + //SEG277 [137] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) -- vwsz1=vwsz1_minus_vbsz2 lda b sta $fe ora #$7f @@ -7156,57 +7128,57 @@ slow_signed_multiply: { lda m+1 sbc $ff sta m+1 - //SEG281 [141] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsz1=_dec_vbsz1 + //SEG278 [138] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsz1=_dec_vbsz1 dec i - //SEG282 [142] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsz1_neq_vbsz2_then_la1 + //SEG279 [139] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsz1_neq_vbsz2_then_la1 lda i cmp a bne b2_from_b2 - //SEG283 [143] phi from slow_signed_multiply::@2 slow_signed_multiply::@5 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3] + //SEG280 [140] phi from slow_signed_multiply::@2 slow_signed_multiply::@5 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3] b3_from_b2: b3_from_b5: - //SEG284 [143] phi (signed word) slow_signed_multiply::return#0 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3#0] -- register_copy + //SEG281 [140] phi (signed word) slow_signed_multiply::return#0 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3#0] -- register_copy jmp b3 - //SEG285 [143] phi from slow_signed_multiply::@1 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3] + //SEG282 [140] phi from slow_signed_multiply::@1 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3] b3_from_b1: - //SEG286 [143] phi (signed word) slow_signed_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3#0] -- vwsz1=vbuc1 + //SEG283 [140] phi (signed word) slow_signed_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3#0] -- vwsz1=vbuc1 lda #0 sta return lda #0 sta return+1 jmp b3 - //SEG287 slow_signed_multiply::@3 + //SEG284 slow_signed_multiply::@3 b3: jmp breturn - //SEG288 slow_signed_multiply::@return + //SEG285 slow_signed_multiply::@return breturn: - //SEG289 [144] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) + //SEG286 [141] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) rts - //SEG290 slow_signed_multiply::@1 + //SEG287 slow_signed_multiply::@1 b1: - //SEG291 [145] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_le_0_then_la1 + //SEG288 [142] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_le_0_then_la1 lda a cmp #1 bmi b3_from_b1 - //SEG292 [146] phi from slow_signed_multiply::@1 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5] + //SEG289 [143] phi from slow_signed_multiply::@1 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5] b5_from_b1: - //SEG293 [146] phi (signed byte) slow_signed_multiply::j#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#0] -- vbsz1=vbuc1 + //SEG290 [143] phi (signed byte) slow_signed_multiply::j#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#0] -- vbsz1=vbuc1 lda #0 sta j - //SEG294 [146] phi (signed word) slow_signed_multiply::m#5 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#1] -- vwsz1=vbuc1 + //SEG291 [143] phi (signed word) slow_signed_multiply::m#5 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#1] -- vwsz1=vbuc1 lda #0 sta m lda #0 sta m+1 jmp b5 - //SEG295 [146] phi from slow_signed_multiply::@5 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5] + //SEG292 [143] phi from slow_signed_multiply::@5 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5] b5_from_b5: - //SEG296 [146] phi (signed byte) slow_signed_multiply::j#2 = (signed byte) slow_signed_multiply::j#1 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#0] -- register_copy - //SEG297 [146] phi (signed word) slow_signed_multiply::m#5 = (signed word) slow_signed_multiply::m#2 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#1] -- register_copy + //SEG293 [143] phi (signed byte) slow_signed_multiply::j#2 = (signed byte) slow_signed_multiply::j#1 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#0] -- register_copy + //SEG294 [143] phi (signed word) slow_signed_multiply::m#5 = (signed word) slow_signed_multiply::m#2 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#1] -- register_copy jmp b5 - //SEG298 slow_signed_multiply::@5 + //SEG295 slow_signed_multiply::@5 b5: - //SEG299 [147] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) -- vwsz1=vwsz1_plus_vbsz2 + //SEG296 [144] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) -- vwsz1=vwsz1_plus_vbsz2 lda b sta $fe ora #$7f @@ -7221,91 +7193,91 @@ slow_signed_multiply: { lda m+1 adc $ff sta m+1 - //SEG300 [148] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsz1=_inc_vbsz1 + //SEG297 [145] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsz1=_inc_vbsz1 inc j - //SEG301 [149] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsz1_neq_vbsz2_then_la1 + //SEG298 [146] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsz1_neq_vbsz2_then_la1 lda j cmp a bne b5_from_b5 jmp b3_from_b5 } -//SEG302 multiply_results_compare +//SEG299 multiply_results_compare multiply_results_compare: { - .label ms = $56 - .label ma = $5a + .label ms = $52 + .label ma = $56 .label b = $1a .label a = $19 - //SEG303 [151] phi from multiply_results_compare to multiply_results_compare::@1 [phi:multiply_results_compare->multiply_results_compare::@1] + //SEG300 [148] phi from multiply_results_compare to multiply_results_compare::@1 [phi:multiply_results_compare->multiply_results_compare::@1] b1_from_multiply_results_compare: - //SEG304 [151] phi (byte) multiply_results_compare::a#6 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare->multiply_results_compare::@1#0] -- vbuz1=vbuc1 + //SEG301 [148] phi (byte) multiply_results_compare::a#6 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare->multiply_results_compare::@1#0] -- vbuz1=vbuc1 lda #0 sta a jmp b1 - //SEG305 [151] phi from multiply_results_compare::@6 to multiply_results_compare::@1 [phi:multiply_results_compare::@6->multiply_results_compare::@1] + //SEG302 [148] phi from multiply_results_compare::@6 to multiply_results_compare::@1 [phi:multiply_results_compare::@6->multiply_results_compare::@1] b1_from_b6: - //SEG306 [151] phi (byte) multiply_results_compare::a#6 = (byte) multiply_results_compare::a#1 [phi:multiply_results_compare::@6->multiply_results_compare::@1#0] -- register_copy + //SEG303 [148] phi (byte) multiply_results_compare::a#6 = (byte) multiply_results_compare::a#1 [phi:multiply_results_compare::@6->multiply_results_compare::@1#0] -- register_copy jmp b1 - //SEG307 multiply_results_compare::@1 + //SEG304 multiply_results_compare::@1 b1: - //SEG308 [152] phi from multiply_results_compare::@1 to multiply_results_compare::@2 [phi:multiply_results_compare::@1->multiply_results_compare::@2] + //SEG305 [149] phi from multiply_results_compare::@1 to multiply_results_compare::@2 [phi:multiply_results_compare::@1->multiply_results_compare::@2] b2_from_b1: - //SEG309 [152] phi (byte) multiply_results_compare::b#2 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare::@1->multiply_results_compare::@2#0] -- vbuz1=vbuc1 + //SEG306 [149] phi (byte) multiply_results_compare::b#2 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare::@1->multiply_results_compare::@2#0] -- vbuz1=vbuc1 lda #0 sta b jmp b2 - //SEG310 [152] phi from multiply_results_compare::@3 to multiply_results_compare::@2 [phi:multiply_results_compare::@3->multiply_results_compare::@2] + //SEG307 [149] phi from multiply_results_compare::@3 to multiply_results_compare::@2 [phi:multiply_results_compare::@3->multiply_results_compare::@2] b2_from_b3: - //SEG311 [152] phi (byte) multiply_results_compare::b#2 = (byte) multiply_results_compare::b#1 [phi:multiply_results_compare::@3->multiply_results_compare::@2#0] -- register_copy + //SEG308 [149] phi (byte) multiply_results_compare::b#2 = (byte) multiply_results_compare::b#1 [phi:multiply_results_compare::@3->multiply_results_compare::@2#0] -- register_copy jmp b2 - //SEG312 multiply_results_compare::@2 + //SEG309 multiply_results_compare::@2 b2: - //SEG313 [153] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) -- vbuz1=vbuz2 + //SEG310 [150] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) -- vbuz1=vbuz2 lda a sta slow_multiply.a - //SEG314 [154] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuz1=vbuz2 + //SEG311 [151] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuz1=vbuz2 lda b sta slow_multiply.b - //SEG315 [155] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + //SEG312 [152] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) jsr slow_multiply - //SEG316 [156] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) -- vwuz1=vwuz2 + //SEG313 [153] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) -- vwuz1=vwuz2 lda slow_multiply.return sta slow_multiply.return_2 lda slow_multiply.return+1 sta slow_multiply.return_2+1 jmp b8 - //SEG317 multiply_results_compare::@8 + //SEG314 multiply_results_compare::@8 b8: - //SEG318 [157] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vwuz1=vwuz2 + //SEG315 [154] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vwuz1=vwuz2 lda slow_multiply.return_2 sta ms lda slow_multiply.return_2+1 sta ms+1 - //SEG319 [158] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuz1=vbuz2 + //SEG316 [155] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuz1=vbuz2 lda a sta multiply.a - //SEG320 [159] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuz1=vbuz2 + //SEG317 [156] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuz1=vbuz2 lda b sta multiply.b - //SEG321 [160] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - //SEG322 [132] phi from multiply_results_compare::@8 to multiply [phi:multiply_results_compare::@8->multiply] + //SEG318 [157] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + //SEG319 [129] phi from multiply_results_compare::@8 to multiply [phi:multiply_results_compare::@8->multiply] multiply_from_b8: - //SEG323 [132] phi (byte) multiply::b#2 = (byte) multiply::b#1 [phi:multiply_results_compare::@8->multiply#0] -- register_copy - //SEG324 [132] phi (byte) multiply::a#2 = (byte) multiply::a#1 [phi:multiply_results_compare::@8->multiply#1] -- register_copy + //SEG320 [129] phi (byte) multiply::b#2 = (byte) multiply::b#1 [phi:multiply_results_compare::@8->multiply#0] -- register_copy + //SEG321 [129] phi (byte) multiply::a#2 = (byte) multiply::a#1 [phi:multiply_results_compare::@8->multiply#1] -- register_copy jsr multiply - //SEG325 [161] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) -- vwuz1=vwuz2 + //SEG322 [158] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) -- vwuz1=vwuz2 lda multiply.return sta multiply.return_3 lda multiply.return+1 sta multiply.return_3+1 jmp b9 - //SEG326 multiply_results_compare::@9 + //SEG323 multiply_results_compare::@9 b9: - //SEG327 [162] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- vwuz1=vwuz2 + //SEG324 [159] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- vwuz1=vwuz2 lda multiply.return_3 sta ma lda multiply.return_3+1 sta ma+1 - //SEG328 [163] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- vwuz1_eq_vwuz2_then_la1 + //SEG325 [160] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- vwuz1_eq_vwuz2_then_la1 lda ms cmp ma bne !+ @@ -7314,244 +7286,244 @@ multiply_results_compare: { beq b3 !: jmp b4 - //SEG329 multiply_results_compare::@4 + //SEG326 multiply_results_compare::@4 b4: - //SEG330 [164] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- _deref_pbuc1=vbuc2 + //SEG327 [161] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- _deref_pbuc1=vbuc2 lda #2 sta BGCOL - //SEG331 [165] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) -- vbuz1=vbuz2 + //SEG328 [162] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) -- vbuz1=vbuz2 lda a sta multiply_error.a - //SEG332 [166] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) -- vbuz1=vbuz2 + //SEG329 [163] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) -- vbuz1=vbuz2 lda b sta multiply_error.b - //SEG333 [167] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) -- vwuz1=vwuz2 + //SEG330 [164] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) -- vwuz1=vwuz2 lda ms sta multiply_error.ms lda ms+1 sta multiply_error.ms+1 - //SEG334 [168] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 + //SEG331 [165] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 lda ma sta multiply_error.ma lda ma+1 sta multiply_error.ma+1 - //SEG335 [169] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) - //SEG336 [179] phi from multiply_results_compare::@4 to multiply_error [phi:multiply_results_compare::@4->multiply_error] + //SEG332 [166] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG333 [176] phi from multiply_results_compare::@4 to multiply_error [phi:multiply_results_compare::@4->multiply_error] multiply_error_from_b4: jsr multiply_error jmp breturn - //SEG337 multiply_results_compare::@return + //SEG334 multiply_results_compare::@return breturn: - //SEG338 [170] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG335 [167] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) rts - //SEG339 multiply_results_compare::@3 + //SEG336 multiply_results_compare::@3 b3: - //SEG340 [171] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG337 [168] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1=_inc_vbuz1 inc b - //SEG341 [172] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1_neq_0_then_la1 + //SEG338 [169] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1_neq_0_then_la1 lda b bne b2_from_b3 jmp b6 - //SEG342 multiply_results_compare::@6 + //SEG339 multiply_results_compare::@6 b6: - //SEG343 [173] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG340 [170] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1=_inc_vbuz1 inc a - //SEG344 [174] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1_neq_0_then_la1 + //SEG341 [171] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1_neq_0_then_la1 lda a bne b1_from_b6 - //SEG345 [175] phi from multiply_results_compare::@6 to multiply_results_compare::@7 [phi:multiply_results_compare::@6->multiply_results_compare::@7] + //SEG342 [172] phi from multiply_results_compare::@6 to multiply_results_compare::@7 [phi:multiply_results_compare::@6->multiply_results_compare::@7] b7_from_b6: jmp b7 - //SEG346 multiply_results_compare::@7 + //SEG343 multiply_results_compare::@7 b7: - //SEG347 [176] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) - //SEG348 [51] phi from multiply_results_compare::@7 to print_str [phi:multiply_results_compare::@7->print_str] + //SEG344 [173] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) + //SEG345 [51] phi from multiply_results_compare::@7 to print_str [phi:multiply_results_compare::@7->print_str] print_str_from_b7: - //SEG349 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_results_compare::@7->print_str#0] -- register_copy - //SEG350 [51] phi (byte*) print_str::str#16 = (const string) multiply_results_compare::str [phi:multiply_results_compare::@7->print_str#1] -- pbuz1=pbuc1 + //SEG346 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_results_compare::@7->print_str#0] -- register_copy + //SEG347 [51] phi (byte*) print_str::str#16 = (const string) multiply_results_compare::str [phi:multiply_results_compare::@7->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str - //SEG351 [177] phi from multiply_results_compare::@7 to multiply_results_compare::@11 [phi:multiply_results_compare::@7->multiply_results_compare::@11] + //SEG348 [174] phi from multiply_results_compare::@7 to multiply_results_compare::@11 [phi:multiply_results_compare::@7->multiply_results_compare::@11] b11_from_b7: jmp b11 - //SEG352 multiply_results_compare::@11 + //SEG349 multiply_results_compare::@11 b11: - //SEG353 [178] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) - //SEG354 [46] phi from multiply_results_compare::@11 to print_ln [phi:multiply_results_compare::@11->print_ln] + //SEG350 [175] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG351 [46] phi from multiply_results_compare::@11 to print_ln [phi:multiply_results_compare::@11->print_ln] print_ln_from_b11: - //SEG355 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_results_compare::@11->print_ln#0] -- register_copy - //SEG356 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_results_compare::@11->print_ln#1] -- register_copy + //SEG352 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_results_compare::@11->print_ln#0] -- register_copy + //SEG353 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_results_compare::@11->print_ln#1] -- register_copy jsr print_ln jmp breturn str: .text "multiply results match!@" } -//SEG357 multiply_error +//SEG354 multiply_error multiply_error: { - .label a = $5c - .label b = $5d - .label ms = $5e - .label ma = $60 - //SEG358 [180] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG359 [51] phi from multiply_error to print_str [phi:multiply_error->print_str] + .label a = $58 + .label b = $59 + .label ms = $5a + .label ma = $5c + //SEG355 [177] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG356 [51] phi from multiply_error to print_str [phi:multiply_error->print_str] print_str_from_multiply_error: - //SEG360 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_error->print_str#0] -- register_copy - //SEG361 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str [phi:multiply_error->print_str#1] -- pbuz1=pbuc1 + //SEG357 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_error->print_str#0] -- register_copy + //SEG358 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str [phi:multiply_error->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str jmp b1 - //SEG362 multiply_error::@1 + //SEG359 multiply_error::@1 b1: - //SEG363 [181] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vbuz1=vbuz2 + //SEG360 [178] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vbuz1=vbuz2 lda a sta print_byte.b - //SEG364 [182] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG365 [92] phi from multiply_error::@1 to print_byte [phi:multiply_error::@1->print_byte] + //SEG361 [179] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG362 [92] phi from multiply_error::@1 to print_byte [phi:multiply_error::@1->print_byte] print_byte_from_b1: - //SEG366 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@1->print_byte#0] -- register_copy - //SEG367 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#3 [phi:multiply_error::@1->print_byte#1] -- register_copy + //SEG363 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@1->print_byte#0] -- register_copy + //SEG364 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#3 [phi:multiply_error::@1->print_byte#1] -- register_copy jsr print_byte - //SEG368 [183] phi from multiply_error::@1 to multiply_error::@2 [phi:multiply_error::@1->multiply_error::@2] + //SEG365 [180] phi from multiply_error::@1 to multiply_error::@2 [phi:multiply_error::@1->multiply_error::@2] b2_from_b1: jmp b2 - //SEG369 multiply_error::@2 + //SEG366 multiply_error::@2 b2: - //SEG370 [184] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG371 [51] phi from multiply_error::@2 to print_str [phi:multiply_error::@2->print_str] + //SEG367 [181] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG368 [51] phi from multiply_error::@2 to print_str [phi:multiply_error::@2->print_str] print_str_from_b2: - //SEG372 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@2->print_str#0] -- register_copy - //SEG373 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str1 [phi:multiply_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG369 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@2->print_str#0] -- register_copy + //SEG370 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str1 [phi:multiply_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b3 - //SEG374 multiply_error::@3 + //SEG371 multiply_error::@3 b3: - //SEG375 [185] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vbuz1=vbuz2 + //SEG372 [182] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vbuz1=vbuz2 lda b sta print_byte.b - //SEG376 [186] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG377 [92] phi from multiply_error::@3 to print_byte [phi:multiply_error::@3->print_byte] + //SEG373 [183] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG374 [92] phi from multiply_error::@3 to print_byte [phi:multiply_error::@3->print_byte] print_byte_from_b3: - //SEG378 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@3->print_byte#0] -- register_copy - //SEG379 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#4 [phi:multiply_error::@3->print_byte#1] -- register_copy + //SEG375 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@3->print_byte#0] -- register_copy + //SEG376 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#4 [phi:multiply_error::@3->print_byte#1] -- register_copy jsr print_byte - //SEG380 [187] phi from multiply_error::@3 to multiply_error::@4 [phi:multiply_error::@3->multiply_error::@4] + //SEG377 [184] phi from multiply_error::@3 to multiply_error::@4 [phi:multiply_error::@3->multiply_error::@4] b4_from_b3: jmp b4 - //SEG381 multiply_error::@4 + //SEG378 multiply_error::@4 b4: - //SEG382 [188] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG383 [51] phi from multiply_error::@4 to print_str [phi:multiply_error::@4->print_str] + //SEG379 [185] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG380 [51] phi from multiply_error::@4 to print_str [phi:multiply_error::@4->print_str] print_str_from_b4: - //SEG384 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@4->print_str#0] -- register_copy - //SEG385 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str2 [phi:multiply_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG381 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@4->print_str#0] -- register_copy + //SEG382 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str2 [phi:multiply_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str jmp b5 - //SEG386 multiply_error::@5 + //SEG383 multiply_error::@5 b5: - //SEG387 [189] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 + //SEG384 [186] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 lda ms sta print_word.w lda ms+1 sta print_word.w+1 - //SEG388 [190] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) - //SEG389 [86] phi from multiply_error::@5 to print_word [phi:multiply_error::@5->print_word] + //SEG385 [187] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) + //SEG386 [86] phi from multiply_error::@5 to print_word [phi:multiply_error::@5->print_word] print_word_from_b5: - //SEG390 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@5->print_word#0] -- register_copy - //SEG391 [86] phi (word) print_word::w#5 = (word) print_word::w#3 [phi:multiply_error::@5->print_word#1] -- register_copy + //SEG387 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@5->print_word#0] -- register_copy + //SEG388 [86] phi (word) print_word::w#5 = (word) print_word::w#3 [phi:multiply_error::@5->print_word#1] -- register_copy jsr print_word - //SEG392 [191] phi from multiply_error::@5 to multiply_error::@6 [phi:multiply_error::@5->multiply_error::@6] + //SEG389 [188] phi from multiply_error::@5 to multiply_error::@6 [phi:multiply_error::@5->multiply_error::@6] b6_from_b5: jmp b6 - //SEG393 multiply_error::@6 + //SEG390 multiply_error::@6 b6: - //SEG394 [192] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) - //SEG395 [51] phi from multiply_error::@6 to print_str [phi:multiply_error::@6->print_str] + //SEG391 [189] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) + //SEG392 [51] phi from multiply_error::@6 to print_str [phi:multiply_error::@6->print_str] print_str_from_b6: - //SEG396 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@6->print_str#0] -- register_copy - //SEG397 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str3 [phi:multiply_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG393 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@6->print_str#0] -- register_copy + //SEG394 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str3 [phi:multiply_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str jmp b7 - //SEG398 multiply_error::@7 + //SEG395 multiply_error::@7 b7: - //SEG399 [193] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) -- vwuz1=vwuz2 + //SEG396 [190] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) -- vwuz1=vwuz2 lda ma sta print_word.w lda ma+1 sta print_word.w+1 - //SEG400 [194] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 ] ) - //SEG401 [86] phi from multiply_error::@7 to print_word [phi:multiply_error::@7->print_word] + //SEG397 [191] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 ] ) + //SEG398 [86] phi from multiply_error::@7 to print_word [phi:multiply_error::@7->print_word] print_word_from_b7: - //SEG402 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@7->print_word#0] -- register_copy - //SEG403 [86] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:multiply_error::@7->print_word#1] -- register_copy + //SEG399 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@7->print_word#0] -- register_copy + //SEG400 [86] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:multiply_error::@7->print_word#1] -- register_copy jsr print_word - //SEG404 [195] phi from multiply_error::@7 to multiply_error::@8 [phi:multiply_error::@7->multiply_error::@8] + //SEG401 [192] phi from multiply_error::@7 to multiply_error::@8 [phi:multiply_error::@7->multiply_error::@8] b8_from_b7: jmp b8 - //SEG405 multiply_error::@8 + //SEG402 multiply_error::@8 b8: - //SEG406 [196] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) - //SEG407 [46] phi from multiply_error::@8 to print_ln [phi:multiply_error::@8->print_ln] + //SEG403 [193] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) + //SEG404 [46] phi from multiply_error::@8 to print_ln [phi:multiply_error::@8->print_ln] print_ln_from_b8: - //SEG408 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#17 [phi:multiply_error::@8->print_ln#0] -- register_copy - //SEG409 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_error::@8->print_ln#1] -- register_copy + //SEG405 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#17 [phi:multiply_error::@8->print_ln#0] -- register_copy + //SEG406 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_error::@8->print_ln#1] -- register_copy jsr print_ln jmp breturn - //SEG410 multiply_error::@return + //SEG407 multiply_error::@return breturn: - //SEG411 [197] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) + //SEG408 [194] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) rts str: .text "multiply mismatch @" str1: .text "*@" str2: .text " slow:@" str3: .text " / fast asm:@" } -//SEG412 slow_multiply +//SEG409 slow_multiply slow_multiply: { .label return = $1c .label m = $1c .label i = $1b - .label a = $52 - .label b = $53 - .label return_2 = $54 - //SEG413 [198] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuz1_eq_0_then_la1 + .label a = $4e + .label b = $4f + .label return_2 = $50 + //SEG410 [195] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuz1_eq_0_then_la1 lda a beq b1_from_slow_multiply - //SEG414 [199] phi from slow_multiply to slow_multiply::@2 [phi:slow_multiply->slow_multiply::@2] + //SEG411 [196] phi from slow_multiply to slow_multiply::@2 [phi:slow_multiply->slow_multiply::@2] b2_from_slow_multiply: - //SEG415 [199] phi (byte) slow_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#0] -- vbuz1=vbuc1 + //SEG412 [196] phi (byte) slow_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#0] -- vbuz1=vbuc1 lda #0 sta i - //SEG416 [199] phi (word) slow_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#1] -- vwuz1=vbuc1 + //SEG413 [196] phi (word) slow_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#1] -- vwuz1=vbuc1 lda #0 sta m lda #0 sta m+1 jmp b2 - //SEG417 [199] phi from slow_multiply::@2 to slow_multiply::@2 [phi:slow_multiply::@2->slow_multiply::@2] + //SEG414 [196] phi from slow_multiply::@2 to slow_multiply::@2 [phi:slow_multiply::@2->slow_multiply::@2] b2_from_b2: - //SEG418 [199] phi (byte) slow_multiply::i#2 = (byte) slow_multiply::i#1 [phi:slow_multiply::@2->slow_multiply::@2#0] -- register_copy - //SEG419 [199] phi (word) slow_multiply::m#3 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@2#1] -- register_copy + //SEG415 [196] phi (byte) slow_multiply::i#2 = (byte) slow_multiply::i#1 [phi:slow_multiply::@2->slow_multiply::@2#0] -- register_copy + //SEG416 [196] phi (word) slow_multiply::m#3 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@2#1] -- register_copy jmp b2 - //SEG420 slow_multiply::@2 + //SEG417 slow_multiply::@2 b2: - //SEG421 [200] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) -- vwuz1=vwuz1_plus_vbuz2 + //SEG418 [197] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) -- vwuz1=vwuz1_plus_vbuz2 lda b clc adc m @@ -7559,151 +7531,151 @@ slow_multiply: { lda #0 adc m+1 sta m+1 - //SEG422 [201] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG419 [198] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuz1=_inc_vbuz1 inc i - //SEG423 [202] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuz1_neq_vbuz2_then_la1 + //SEG420 [199] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuz1_neq_vbuz2_then_la1 lda i cmp a bne b2_from_b2 - //SEG424 [203] phi from slow_multiply::@2 to slow_multiply::@1 [phi:slow_multiply::@2->slow_multiply::@1] + //SEG421 [200] phi from slow_multiply::@2 to slow_multiply::@1 [phi:slow_multiply::@2->slow_multiply::@1] b1_from_b2: - //SEG425 [203] phi (word) slow_multiply::return#0 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@1#0] -- register_copy + //SEG422 [200] phi (word) slow_multiply::return#0 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@1#0] -- register_copy jmp b1 - //SEG426 [203] phi from slow_multiply to slow_multiply::@1 [phi:slow_multiply->slow_multiply::@1] + //SEG423 [200] phi from slow_multiply to slow_multiply::@1 [phi:slow_multiply->slow_multiply::@1] b1_from_slow_multiply: - //SEG427 [203] phi (word) slow_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@1#0] -- vwuz1=vbuc1 + //SEG424 [200] phi (word) slow_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@1#0] -- vwuz1=vbuc1 lda #0 sta return lda #0 sta return+1 jmp b1 - //SEG428 slow_multiply::@1 + //SEG425 slow_multiply::@1 b1: jmp breturn - //SEG429 slow_multiply::@return + //SEG426 slow_multiply::@return breturn: - //SEG430 [204] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + //SEG427 [201] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) rts } -//SEG431 multiply_tables_compare +//SEG428 multiply_tables_compare multiply_tables_compare: { .label asm_sqr = $20 .label kc_sqr = $1e - //SEG432 [206] phi from multiply_tables_compare to multiply_tables_compare::@1 [phi:multiply_tables_compare->multiply_tables_compare::@1] + //SEG429 [203] phi from multiply_tables_compare to multiply_tables_compare::@1 [phi:multiply_tables_compare->multiply_tables_compare::@1] b1_from_multiply_tables_compare: - //SEG433 [206] phi (byte*) multiply_tables_compare::asm_sqr#2 = (const byte[512]) asm_mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#0] -- pbuz1=pbuc1 + //SEG430 [203] phi (byte*) multiply_tables_compare::asm_sqr#2 = (const byte[512]) asm_mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#0] -- pbuz1=pbuc1 lda #asm_mul_sqr1_lo sta asm_sqr+1 - //SEG434 [206] phi (byte*) multiply_tables_compare::kc_sqr#2 = (const byte[512]) mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#1] -- pbuz1=pbuc1 + //SEG431 [203] phi (byte*) multiply_tables_compare::kc_sqr#2 = (const byte[512]) mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#1] -- pbuz1=pbuc1 lda #mul_sqr1_lo sta kc_sqr+1 jmp b1 - //SEG435 [206] phi from multiply_tables_compare::@2 to multiply_tables_compare::@1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1] + //SEG432 [203] phi from multiply_tables_compare::@2 to multiply_tables_compare::@1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1] b1_from_b2: - //SEG436 [206] phi (byte*) multiply_tables_compare::asm_sqr#2 = (byte*) multiply_tables_compare::asm_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#0] -- register_copy - //SEG437 [206] phi (byte*) multiply_tables_compare::kc_sqr#2 = (byte*) multiply_tables_compare::kc_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#1] -- register_copy + //SEG433 [203] phi (byte*) multiply_tables_compare::asm_sqr#2 = (byte*) multiply_tables_compare::asm_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#0] -- register_copy + //SEG434 [203] phi (byte*) multiply_tables_compare::kc_sqr#2 = (byte*) multiply_tables_compare::kc_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#1] -- register_copy jmp b1 - //SEG438 multiply_tables_compare::@1 + //SEG435 multiply_tables_compare::@1 b1: - //SEG439 [207] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuz1_eq__deref_pbuz2_then_la1 + //SEG436 [204] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuz1_eq__deref_pbuz2_then_la1 ldy #0 lda (kc_sqr),y ldy #0 cmp (asm_sqr),y beq b2 jmp b3 - //SEG440 multiply_tables_compare::@3 + //SEG437 multiply_tables_compare::@3 b3: - //SEG441 [208] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuc1=vbuc2 + //SEG438 [205] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuc1=vbuc2 lda #2 sta BGCOL - //SEG442 [209] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - //SEG443 [51] phi from multiply_tables_compare::@3 to print_str [phi:multiply_tables_compare::@3->print_str] + //SEG439 [206] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + //SEG440 [51] phi from multiply_tables_compare::@3 to print_str [phi:multiply_tables_compare::@3->print_str] print_str_from_b3: - //SEG444 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@3->print_str#0] -- pbuz1=pbuc1 + //SEG441 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@3->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta char_cursor lda #>$400 sta char_cursor+1 - //SEG445 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str [phi:multiply_tables_compare::@3->print_str#1] -- pbuz1=pbuc1 + //SEG442 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str [phi:multiply_tables_compare::@3->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str jmp b6 - //SEG446 multiply_tables_compare::@6 + //SEG443 multiply_tables_compare::@6 b6: - //SEG447 [210] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) -- vwuz1=_word_pbuz2 + //SEG444 [207] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) -- vwuz1=_word_pbuz2 lda asm_sqr sta print_word.w lda asm_sqr+1 sta print_word.w+1 - //SEG448 [211] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) - //SEG449 [86] phi from multiply_tables_compare::@6 to print_word [phi:multiply_tables_compare::@6->print_word] + //SEG445 [208] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) + //SEG446 [86] phi from multiply_tables_compare::@6 to print_word [phi:multiply_tables_compare::@6->print_word] print_word_from_b6: - //SEG450 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@6->print_word#0] -- register_copy - //SEG451 [86] phi (word) print_word::w#5 = (word) print_word::w#1 [phi:multiply_tables_compare::@6->print_word#1] -- register_copy + //SEG447 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@6->print_word#0] -- register_copy + //SEG448 [86] phi (word) print_word::w#5 = (word) print_word::w#1 [phi:multiply_tables_compare::@6->print_word#1] -- register_copy jsr print_word - //SEG452 [212] phi from multiply_tables_compare::@6 to multiply_tables_compare::@7 [phi:multiply_tables_compare::@6->multiply_tables_compare::@7] + //SEG449 [209] phi from multiply_tables_compare::@6 to multiply_tables_compare::@7 [phi:multiply_tables_compare::@6->multiply_tables_compare::@7] b7_from_b6: jmp b7 - //SEG453 multiply_tables_compare::@7 + //SEG450 multiply_tables_compare::@7 b7: - //SEG454 [213] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) - //SEG455 [51] phi from multiply_tables_compare::@7 to print_str [phi:multiply_tables_compare::@7->print_str] + //SEG451 [210] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) + //SEG452 [51] phi from multiply_tables_compare::@7 to print_str [phi:multiply_tables_compare::@7->print_str] print_str_from_b7: - //SEG456 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@7->print_str#0] -- register_copy - //SEG457 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str1 [phi:multiply_tables_compare::@7->print_str#1] -- pbuz1=pbuc1 + //SEG453 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@7->print_str#0] -- register_copy + //SEG454 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str1 [phi:multiply_tables_compare::@7->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b8 - //SEG458 multiply_tables_compare::@8 + //SEG455 multiply_tables_compare::@8 b8: - //SEG459 [214] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) -- vwuz1=_word_pbuz2 + //SEG456 [211] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) -- vwuz1=_word_pbuz2 lda kc_sqr sta print_word.w lda kc_sqr+1 sta print_word.w+1 - //SEG460 [215] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) - //SEG461 [86] phi from multiply_tables_compare::@8 to print_word [phi:multiply_tables_compare::@8->print_word] + //SEG457 [212] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) + //SEG458 [86] phi from multiply_tables_compare::@8 to print_word [phi:multiply_tables_compare::@8->print_word] print_word_from_b8: - //SEG462 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@8->print_word#0] -- register_copy - //SEG463 [86] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:multiply_tables_compare::@8->print_word#1] -- register_copy + //SEG459 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@8->print_word#0] -- register_copy + //SEG460 [86] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:multiply_tables_compare::@8->print_word#1] -- register_copy jsr print_word - //SEG464 [216] phi from multiply_tables_compare::@8 to multiply_tables_compare::@return [phi:multiply_tables_compare::@8->multiply_tables_compare::@return] + //SEG461 [213] phi from multiply_tables_compare::@8 to multiply_tables_compare::@return [phi:multiply_tables_compare::@8->multiply_tables_compare::@return] breturn_from_b8: - //SEG465 [216] phi (byte*) line_cursor#27 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#0] -- pbuz1=pbuc1 + //SEG462 [213] phi (byte*) line_cursor#27 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#0] -- pbuz1=pbuc1 lda #<$400 sta line_cursor lda #>$400 sta line_cursor+1 - //SEG466 [216] phi (byte*) char_cursor#27 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#1] -- register_copy + //SEG463 [213] phi (byte*) char_cursor#27 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#1] -- register_copy jmp breturn - //SEG467 multiply_tables_compare::@return + //SEG464 multiply_tables_compare::@return breturn: - //SEG468 [217] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + //SEG465 [214] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) rts - //SEG469 multiply_tables_compare::@2 + //SEG466 multiply_tables_compare::@2 b2: - //SEG470 [218] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG467 [215] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 inc asm_sqr bne !+ inc asm_sqr+1 !: - //SEG471 [219] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG468 [216] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 inc kc_sqr bne !+ inc kc_sqr+1 !: - //SEG472 [220] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1_lt_pbuc1_then_la1 + //SEG469 [217] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1_lt_pbuc1_then_la1 lda kc_sqr+1 cmp #>mul_sqr1_lo+$200*4 bcc b1_from_b2 @@ -7712,58 +7684,58 @@ multiply_tables_compare: { cmp #multiply_tables_compare::@5] + //SEG470 [218] phi from multiply_tables_compare::@2 to multiply_tables_compare::@5 [phi:multiply_tables_compare::@2->multiply_tables_compare::@5] b5_from_b2: jmp b5 - //SEG474 multiply_tables_compare::@5 + //SEG471 multiply_tables_compare::@5 b5: - //SEG475 [222] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) - //SEG476 [51] phi from multiply_tables_compare::@5 to print_str [phi:multiply_tables_compare::@5->print_str] + //SEG472 [219] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) + //SEG473 [51] phi from multiply_tables_compare::@5 to print_str [phi:multiply_tables_compare::@5->print_str] print_str_from_b5: - //SEG477 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@5->print_str#0] -- pbuz1=pbuc1 + //SEG474 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@5->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta char_cursor lda #>$400 sta char_cursor+1 - //SEG478 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str2 [phi:multiply_tables_compare::@5->print_str#1] -- pbuz1=pbuc1 + //SEG475 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str2 [phi:multiply_tables_compare::@5->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG479 [223] phi from multiply_tables_compare::@5 to multiply_tables_compare::@10 [phi:multiply_tables_compare::@5->multiply_tables_compare::@10] + //SEG476 [220] phi from multiply_tables_compare::@5 to multiply_tables_compare::@10 [phi:multiply_tables_compare::@5->multiply_tables_compare::@10] b10_from_b5: jmp b10 - //SEG480 multiply_tables_compare::@10 + //SEG477 multiply_tables_compare::@10 b10: - //SEG481 [224] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) - //SEG482 [46] phi from multiply_tables_compare::@10 to print_ln [phi:multiply_tables_compare::@10->print_ln] + //SEG478 [221] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) + //SEG479 [46] phi from multiply_tables_compare::@10 to print_ln [phi:multiply_tables_compare::@10->print_ln] print_ln_from_b10: - //SEG483 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@10->print_ln#0] -- register_copy - //SEG484 [46] phi (byte*) line_cursor#40 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@10->print_ln#1] -- pbuz1=pbuc1 + //SEG480 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@10->print_ln#0] -- register_copy + //SEG481 [46] phi (byte*) line_cursor#40 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@10->print_ln#1] -- pbuz1=pbuc1 lda #<$400 sta line_cursor lda #>$400 sta line_cursor+1 jsr print_ln - //SEG485 [225] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) -- pbuz1=pbuz2 + //SEG482 [222] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) -- pbuz1=pbuz2 lda line_cursor sta char_cursor lda line_cursor+1 sta char_cursor+1 - //SEG486 [216] phi from multiply_tables_compare::@10 to multiply_tables_compare::@return [phi:multiply_tables_compare::@10->multiply_tables_compare::@return] + //SEG483 [213] phi from multiply_tables_compare::@10 to multiply_tables_compare::@return [phi:multiply_tables_compare::@10->multiply_tables_compare::@return] breturn_from_b10: - //SEG487 [216] phi (byte*) line_cursor#27 = (byte*) line_cursor#1 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#0] -- register_copy - //SEG488 [216] phi (byte*) char_cursor#27 = (byte*~) char_cursor#197 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#1] -- register_copy + //SEG484 [213] phi (byte*) line_cursor#27 = (byte*) line_cursor#1 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#0] -- register_copy + //SEG485 [213] phi (byte*) char_cursor#27 = (byte*~) char_cursor#197 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#1] -- register_copy jmp breturn str: .text "multiply table mismatch at @" str1: .text " / @" str2: .text "multiply tables match!@" } -//SEG489 init_multiply_asm +//SEG486 init_multiply_asm init_multiply_asm: { .const mem = $ff - //SEG490 asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } + //SEG487 asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } ldx #0 txa .byte $c9 @@ -7802,29 +7774,29 @@ init_multiply_asm: { dey inx bne !- - //SEG491 [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG488 [224] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr1_lo sta mem - //SEG492 [228] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG489 [225] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr1_hi sta mem - //SEG493 [229] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG490 [226] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr2_lo sta mem - //SEG494 [230] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG491 [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr2_hi sta mem jmp breturn - //SEG495 init_multiply_asm::@return + //SEG492 init_multiply_asm::@return breturn: - //SEG496 [231] return [ ] ( main:2::init_multiply_asm:9 [ ] ) + //SEG493 [228] return [ ] ( main:2::init_multiply_asm:9 [ ] ) rts } -//SEG497 init_multiply +//SEG494 init_multiply init_multiply: { - .label _2 = $62 - .label _5 = $63 - .label _6 = $64 + .label _2 = $5e + .label _5 = $5f + .label _6 = $60 .label c = $22 .label sqr1_hi = $25 .label sqr = $28 @@ -7834,87 +7806,87 @@ init_multiply: { .label x_255 = $2a .label sqr2_lo = $2b .label dir = $2f - //SEG498 [233] phi from init_multiply to init_multiply::@1 [phi:init_multiply->init_multiply::@1] + //SEG495 [230] phi from init_multiply to init_multiply::@1 [phi:init_multiply->init_multiply::@1] b1_from_init_multiply: - //SEG499 [233] phi (byte) init_multiply::x_2#3 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#0] -- vbuz1=vbuc1 + //SEG496 [230] phi (byte) init_multiply::x_2#3 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#0] -- vbuz1=vbuc1 lda #0 sta x_2 - //SEG500 [233] phi (byte*) init_multiply::sqr1_hi#2 = (const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#1] -- pbuz1=pbuc1 + //SEG497 [230] phi (byte*) init_multiply::sqr1_hi#2 = (const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#1] -- pbuz1=pbuc1 lda #mul_sqr1_hi+1 sta sqr1_hi+1 - //SEG501 [233] phi (byte*) init_multiply::sqr1_lo#2 = (const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#2] -- pbuz1=pbuc1 + //SEG498 [230] phi (byte*) init_multiply::sqr1_lo#2 = (const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#2] -- pbuz1=pbuc1 lda #mul_sqr1_lo+1 sta sqr1_lo+1 - //SEG502 [233] phi (word) init_multiply::sqr#4 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#3] -- vwuz1=vbuc1 + //SEG499 [230] phi (word) init_multiply::sqr#4 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#3] -- vwuz1=vbuc1 lda #0 sta sqr lda #0 sta sqr+1 - //SEG503 [233] phi (byte) init_multiply::c#2 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#4] -- vbuz1=vbuc1 + //SEG500 [230] phi (byte) init_multiply::c#2 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#4] -- vbuz1=vbuc1 lda #0 sta c jmp b1 - //SEG504 [233] phi from init_multiply::@2 to init_multiply::@1 [phi:init_multiply::@2->init_multiply::@1] + //SEG501 [230] phi from init_multiply::@2 to init_multiply::@1 [phi:init_multiply::@2->init_multiply::@1] b1_from_b2: - //SEG505 [233] phi (byte) init_multiply::x_2#3 = (byte) init_multiply::x_2#2 [phi:init_multiply::@2->init_multiply::@1#0] -- register_copy - //SEG506 [233] phi (byte*) init_multiply::sqr1_hi#2 = (byte*) init_multiply::sqr1_hi#1 [phi:init_multiply::@2->init_multiply::@1#1] -- register_copy - //SEG507 [233] phi (byte*) init_multiply::sqr1_lo#2 = (byte*) init_multiply::sqr1_lo#1 [phi:init_multiply::@2->init_multiply::@1#2] -- register_copy - //SEG508 [233] phi (word) init_multiply::sqr#4 = (word) init_multiply::sqr#1 [phi:init_multiply::@2->init_multiply::@1#3] -- register_copy - //SEG509 [233] phi (byte) init_multiply::c#2 = (byte) init_multiply::c#1 [phi:init_multiply::@2->init_multiply::@1#4] -- register_copy + //SEG502 [230] phi (byte) init_multiply::x_2#3 = (byte) init_multiply::x_2#2 [phi:init_multiply::@2->init_multiply::@1#0] -- register_copy + //SEG503 [230] phi (byte*) init_multiply::sqr1_hi#2 = (byte*) init_multiply::sqr1_hi#1 [phi:init_multiply::@2->init_multiply::@1#1] -- register_copy + //SEG504 [230] phi (byte*) init_multiply::sqr1_lo#2 = (byte*) init_multiply::sqr1_lo#1 [phi:init_multiply::@2->init_multiply::@1#2] -- register_copy + //SEG505 [230] phi (word) init_multiply::sqr#4 = (word) init_multiply::sqr#1 [phi:init_multiply::@2->init_multiply::@1#3] -- register_copy + //SEG506 [230] phi (byte) init_multiply::c#2 = (byte) init_multiply::c#1 [phi:init_multiply::@2->init_multiply::@1#4] -- register_copy jmp b1 - //SEG510 init_multiply::@1 + //SEG507 init_multiply::@1 b1: - //SEG511 [234] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG508 [231] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuz1=_inc_vbuz1 inc c - //SEG512 [235] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG509 [232] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #1 and c sta _2 - //SEG513 [236] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuz1_neq_0_then_la1 + //SEG510 [233] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuz1_neq_0_then_la1 lda _2 bne b2_from_b1 jmp b5 - //SEG514 init_multiply::@5 + //SEG511 init_multiply::@5 b5: - //SEG515 [237] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG512 [234] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) -- vbuz1=_inc_vbuz1 inc x_2 - //SEG516 [238] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) -- vwuz1=_inc_vwuz1 + //SEG513 [235] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) -- vwuz1=_inc_vwuz1 inc sqr bne !+ inc sqr+1 !: - //SEG517 [239] phi from init_multiply::@1 init_multiply::@5 to init_multiply::@2 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2] + //SEG514 [236] phi from init_multiply::@1 init_multiply::@5 to init_multiply::@2 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2] b2_from_b1: b2_from_b5: - //SEG518 [239] phi (byte) init_multiply::x_2#2 = (byte) init_multiply::x_2#3 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#0] -- register_copy - //SEG519 [239] phi (word) init_multiply::sqr#3 = (word) init_multiply::sqr#4 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#1] -- register_copy + //SEG515 [236] phi (byte) init_multiply::x_2#2 = (byte) init_multiply::x_2#3 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#0] -- register_copy + //SEG516 [236] phi (word) init_multiply::sqr#3 = (word) init_multiply::sqr#4 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#1] -- register_copy jmp b2 - //SEG520 init_multiply::@2 + //SEG517 init_multiply::@2 b2: - //SEG521 [240] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) -- vbuz1=_lo_vwuz2 + //SEG518 [237] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) -- vbuz1=_lo_vwuz2 lda sqr sta _5 - //SEG522 [241] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuz2 + //SEG519 [238] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuz2 lda _5 ldy #0 sta (sqr1_lo),y - //SEG523 [242] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) -- vbuz1=_hi_vwuz2 + //SEG520 [239] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) -- vbuz1=_hi_vwuz2 lda sqr+1 sta _6 - //SEG524 [243] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuz2 + //SEG521 [240] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuz2 lda _6 ldy #0 sta (sqr1_hi),y - //SEG525 [244] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- pbuz1=_inc_pbuz1 + //SEG522 [241] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- pbuz1=_inc_pbuz1 inc sqr1_hi bne !+ inc sqr1_hi+1 !: - //SEG526 [245] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- vwuz1=vwuz1_plus_vbuz2 + //SEG523 [242] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- vwuz1=vwuz1_plus_vbuz2 lda x_2 clc adc sqr @@ -7922,83 +7894,83 @@ init_multiply: { lda #0 adc sqr+1 sta sqr+1 - //SEG527 [246] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG524 [243] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1=_inc_pbuz1 inc sqr1_lo bne !+ inc sqr1_lo+1 !: - //SEG528 [247] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG525 [244] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sqr1_lo+1 cmp #>mul_sqr1_lo+$200 bne b1_from_b2 lda sqr1_lo cmp #init_multiply::@3] + //SEG526 [245] phi from init_multiply::@2 to init_multiply::@3 [phi:init_multiply::@2->init_multiply::@3] b3_from_b2: - //SEG530 [248] phi (byte) init_multiply::dir#2 = (byte/word/signed word) 255 [phi:init_multiply::@2->init_multiply::@3#0] -- vbuz1=vbuc1 + //SEG527 [245] phi (byte) init_multiply::dir#2 = (byte/word/signed word) 255 [phi:init_multiply::@2->init_multiply::@3#0] -- vbuz1=vbuc1 lda #$ff sta dir - //SEG531 [248] phi (byte*) init_multiply::sqr2_hi#2 = (const byte[512]) mul_sqr2_hi#0 [phi:init_multiply::@2->init_multiply::@3#1] -- pbuz1=pbuc1 + //SEG528 [245] phi (byte*) init_multiply::sqr2_hi#2 = (const byte[512]) mul_sqr2_hi#0 [phi:init_multiply::@2->init_multiply::@3#1] -- pbuz1=pbuc1 lda #mul_sqr2_hi sta sqr2_hi+1 - //SEG532 [248] phi (byte*) init_multiply::sqr2_lo#2 = (const byte[512]) mul_sqr2_lo#0 [phi:init_multiply::@2->init_multiply::@3#2] -- pbuz1=pbuc1 + //SEG529 [245] phi (byte*) init_multiply::sqr2_lo#2 = (const byte[512]) mul_sqr2_lo#0 [phi:init_multiply::@2->init_multiply::@3#2] -- pbuz1=pbuc1 lda #mul_sqr2_lo sta sqr2_lo+1 - //SEG533 [248] phi (byte) init_multiply::x_255#2 = ((byte))-(byte/signed byte/word/signed word) 1 [phi:init_multiply::@2->init_multiply::@3#3] -- vbuz1=vbuc1 + //SEG530 [245] phi (byte) init_multiply::x_255#2 = ((byte))-(byte/signed byte/word/signed word) 1 [phi:init_multiply::@2->init_multiply::@3#3] -- vbuz1=vbuc1 lda #-1 sta x_255 jmp b3 - //SEG534 [248] phi from init_multiply::@4 to init_multiply::@3 [phi:init_multiply::@4->init_multiply::@3] + //SEG531 [245] phi from init_multiply::@4 to init_multiply::@3 [phi:init_multiply::@4->init_multiply::@3] b3_from_b4: - //SEG535 [248] phi (byte) init_multiply::dir#2 = (byte) init_multiply::dir#3 [phi:init_multiply::@4->init_multiply::@3#0] -- register_copy - //SEG536 [248] phi (byte*) init_multiply::sqr2_hi#2 = (byte*) init_multiply::sqr2_hi#1 [phi:init_multiply::@4->init_multiply::@3#1] -- register_copy - //SEG537 [248] phi (byte*) init_multiply::sqr2_lo#2 = (byte*) init_multiply::sqr2_lo#1 [phi:init_multiply::@4->init_multiply::@3#2] -- register_copy - //SEG538 [248] phi (byte) init_multiply::x_255#2 = (byte) init_multiply::x_255#1 [phi:init_multiply::@4->init_multiply::@3#3] -- register_copy + //SEG532 [245] phi (byte) init_multiply::dir#2 = (byte) init_multiply::dir#3 [phi:init_multiply::@4->init_multiply::@3#0] -- register_copy + //SEG533 [245] phi (byte*) init_multiply::sqr2_hi#2 = (byte*) init_multiply::sqr2_hi#1 [phi:init_multiply::@4->init_multiply::@3#1] -- register_copy + //SEG534 [245] phi (byte*) init_multiply::sqr2_lo#2 = (byte*) init_multiply::sqr2_lo#1 [phi:init_multiply::@4->init_multiply::@3#2] -- register_copy + //SEG535 [245] phi (byte) init_multiply::x_255#2 = (byte) init_multiply::x_255#1 [phi:init_multiply::@4->init_multiply::@3#3] -- register_copy jmp b3 - //SEG539 init_multiply::@3 + //SEG536 init_multiply::@3 b3: - //SEG540 [249] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + //SEG537 [246] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy x_255 lda mul_sqr1_lo,y ldy #0 sta (sqr2_lo),y - //SEG541 [250] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + //SEG538 [247] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy x_255 lda mul_sqr1_hi,y ldy #0 sta (sqr2_hi),y - //SEG542 [251] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG539 [248] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) -- pbuz1=_inc_pbuz1 inc sqr2_hi bne !+ inc sqr2_hi+1 !: - //SEG543 [252] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 + //SEG540 [249] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuz1=vbuz1_plus_vbuz2 lda x_255 clc adc dir sta x_255 - //SEG544 [253] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuz1_neq_0_then_la1 + //SEG541 [250] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuz1_neq_0_then_la1 lda x_255 bne b12_from_b3 - //SEG545 [254] phi from init_multiply::@3 to init_multiply::@4 [phi:init_multiply::@3->init_multiply::@4] + //SEG542 [251] phi from init_multiply::@3 to init_multiply::@4 [phi:init_multiply::@3->init_multiply::@4] b4_from_b3: - //SEG546 [254] phi (byte) init_multiply::dir#3 = (byte/signed byte/word/signed word) 1 [phi:init_multiply::@3->init_multiply::@4#0] -- vbuz1=vbuc1 + //SEG543 [251] phi (byte) init_multiply::dir#3 = (byte/signed byte/word/signed word) 1 [phi:init_multiply::@3->init_multiply::@4#0] -- vbuz1=vbuc1 lda #1 sta dir jmp b4 - //SEG547 init_multiply::@4 + //SEG544 init_multiply::@4 b4: - //SEG548 [255] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1=_inc_pbuz1 + //SEG545 [252] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1=_inc_pbuz1 inc sqr2_lo bne !+ inc sqr2_lo+1 !: - //SEG549 [256] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG546 [253] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sqr2_lo+1 cmp #>mul_sqr2_lo+$1ff bne b3_from_b4 @@ -8006,56 +7978,56 @@ init_multiply: { cmp #init_multiply::@12] + //SEG552 [257] phi from init_multiply::@3 to init_multiply::@12 [phi:init_multiply::@3->init_multiply::@12] b12_from_b3: jmp b12 - //SEG556 init_multiply::@12 + //SEG553 init_multiply::@12 b12: - //SEG557 [254] phi from init_multiply::@12 to init_multiply::@4 [phi:init_multiply::@12->init_multiply::@4] + //SEG554 [251] phi from init_multiply::@12 to init_multiply::@4 [phi:init_multiply::@12->init_multiply::@4] b4_from_b12: - //SEG558 [254] phi (byte) init_multiply::dir#3 = (byte) init_multiply::dir#2 [phi:init_multiply::@12->init_multiply::@4#0] -- register_copy + //SEG555 [251] phi (byte) init_multiply::dir#3 = (byte) init_multiply::dir#2 [phi:init_multiply::@12->init_multiply::@4#0] -- register_copy jmp b4 } -//SEG559 print_cls +//SEG556 print_cls print_cls: { .label sc = $30 - //SEG560 [262] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG557 [259] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG561 [262] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG558 [259] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #<$400 sta sc lda #>$400 sta sc+1 jmp b1 - //SEG562 [262] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG559 [259] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG563 [262] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG560 [259] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG564 print_cls::@1 + //SEG561 print_cls::@1 b1: - //SEG565 [263] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG562 [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG566 [264] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG563 [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG567 [265] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_vwuc1_then_la1 + //SEG564 [262] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_vwuc1_then_la1 lda sc+1 cmp #>$400+$3e8 bne b1_from_b1 @@ -8063,9 +8035,9 @@ print_cls: { cmp #<$400+$3e8 bne b1_from_b1 jmp breturn - //SEG568 print_cls::@return + //SEG565 print_cls::@return breturn: - //SEG569 [266] return [ ] ( main:2::print_cls:5 [ ] ) + //SEG566 [263] return [ ] ( main:2::print_cls:5 [ ] ) rts } .align $100 @@ -8091,7 +8063,7 @@ Statement [23] (signed word) slow_signed_multiply::return#2 ← (signed word) sl Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] Statement [24] (signed word) signed_multiply_results_compare::ms#0 ← (signed word) slow_signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 ] ) always clobbers reg byte a -Statement [28] (signed word) signed_multiply::return#2 ← (signed word) signed_multiply::return#0 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) always clobbers reg byte a +Statement [28] (signed word) signed_multiply::return#2 ← (signed word)(word) signed_multiply::m#4 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) always clobbers reg byte a Statement [29] (signed word) signed_multiply_results_compare::ma#0 ← (signed word) signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) always clobbers reg byte a Statement [30] if((signed word) signed_multiply_results_compare::ms#0==(signed word) signed_multiply_results_compare::ma#0) goto signed_multiply_results_compare::@3 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) always clobbers reg byte a Statement [31] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) always clobbers reg byte a @@ -8100,27 +8072,27 @@ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:62 [ s Removing always clobbered register reg byte a as potential for zp ZP_BYTE:63 [ signed_multiply_error::b#0 ] Statement [35] (signed word) signed_multiply_error::ma#0 ← (signed word) signed_multiply_results_compare::ma#0 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 ] ) always clobbers reg byte a Statement [42] (byte*~) char_cursor#176 ← (byte*) line_cursor#1 [ char_cursor#176 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ char_cursor#176 line_cursor#1 ] ) always clobbers reg byte a -Statement [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) always clobbers reg byte a -Statement [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) always clobbers reg byte a -Statement [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) always clobbers reg byte a reg byte y +Statement [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) always clobbers reg byte a +Statement [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) always clobbers reg byte a +Statement [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:62 [ signed_multiply_error::a#0 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:63 [ signed_multiply_error::b#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:92 [ multiply_error::a#0 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:92 [ multiply_error::a#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:93 [ multiply_error::b#0 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:93 [ multiply_error::b#0 ] -Statement [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:88 [ multiply_error::a#0 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:88 [ multiply_error::a#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:89 [ multiply_error::b#0 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:89 [ multiply_error::b#0 ] +Statement [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) always clobbers reg byte a reg byte y Statement [58] (byte*~) char_cursor#172 ← (byte*) line_cursor#1 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#172 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#172 ] ) always clobbers reg byte a Statement [68] (signed word) print_sword::w#1 ← (signed word) signed_multiply_error::ms#0 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sword::w#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sword::w#1 ] ) always clobbers reg byte a Statement [72] (signed word) print_sword::w#2 ← (signed word) signed_multiply_error::ma#0 [ line_cursor#1 char_cursor#117 print_sword::w#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36 [ line_cursor#1 char_cursor#117 print_sword::w#2 ] ) always clobbers reg byte a Statement [78] if((signed word) print_sword::w#3>=(byte/signed byte/word/signed word) 0) goto print_sword::@1 [ char_cursor#117 print_sword::w#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sword::w#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#117 print_sword::w#3 ] ) always clobbers reg byte a Statement [81] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#3 [ char_cursor#17 print_sword::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 print_sword::w#0 ] ) always clobbers reg byte a -Statement [83] (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 [ char_cursor#119 print_word::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#0 ] ) always clobbers reg byte a -Statement [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) always clobbers reg byte a -Statement [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_byte::b#2 ] ) always clobbers reg byte a -Statement [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) always clobbers reg byte a -Statement [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) always clobbers reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:12 [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] +Statement [83] (word~) print_word::w#11 ← (word)(signed word) print_sword::w#4 [ char_cursor#119 print_word::w#11 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#11 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#11 ] ) always clobbers reg byte a +Statement [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) always clobbers reg byte a +Statement [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_byte::b#2 ] ) always clobbers reg byte a +Statement [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) always clobbers reg byte a +Statement [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:12 [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:16 [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] Statement [108] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#3 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) always clobbers reg byte a Statement [116] (word) multiply::return#2 ← (word) multiply::return#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ) always clobbers reg byte a @@ -8128,10 +8100,9 @@ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:56 [ s Removing always clobbered register reg byte a as potential for zp ZP_BYTE:57 [ signed_multiply::b#0 ] Statement [117] (word) signed_multiply::m#0 ← (word) multiply::return#2 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 ] ) always clobbers reg byte a Statement [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) always clobbers reg byte a -Statement [121] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) always clobbers reg byte a -Statement [125] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) always clobbers reg byte a -Statement [127] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) always clobbers reg byte a -Statement [130] (signed word) signed_multiply::return#0 ← ((signed word)) (word) signed_multiply::m#4 [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) always clobbers reg byte a +Statement [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) always clobbers reg byte a +Statement [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) always clobbers reg byte a +Statement [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) always clobbers reg byte a Statement asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } always clobbers reg byte a reg byte x Removing always clobbered register reg byte x as potential for zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] Removing always clobbered register reg byte x as potential for zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] @@ -8141,147 +8112,146 @@ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:25 [ m Removing always clobbered register reg byte x as potential for zp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] Removing always clobbered register reg byte x as potential for zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] -Statement [136] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) always clobbers reg byte a -Statement [140] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) always clobbers reg byte a +Statement [133] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) always clobbers reg byte a +Statement [137] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:50 [ slow_signed_multiply::a#0 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:51 [ slow_signed_multiply::b#0 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:21 [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] -Statement [147] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) always clobbers reg byte a +Statement [144] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:24 [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] -Statement [156] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) always clobbers reg byte a -Statement [157] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) always clobbers reg byte a -Statement [161] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) always clobbers reg byte a -Statement [162] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a -Statement [163] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a -Statement [164] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a -Statement [167] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) always clobbers reg byte a -Statement [168] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) always clobbers reg byte a -Statement [189] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) always clobbers reg byte a -Statement [193] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) always clobbers reg byte a -Statement [200] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:82 [ slow_multiply::a#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:83 [ slow_multiply::b#0 ] +Statement [153] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) always clobbers reg byte a +Statement [154] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) always clobbers reg byte a +Statement [158] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) always clobbers reg byte a +Statement [159] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a +Statement [160] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a +Statement [161] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a +Statement [164] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) always clobbers reg byte a +Statement [165] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) always clobbers reg byte a +Statement [186] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) always clobbers reg byte a +Statement [190] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) always clobbers reg byte a +Statement [197] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:78 [ slow_multiply::a#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:79 [ slow_multiply::b#0 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:27 [ slow_multiply::i#2 slow_multiply::i#1 ] -Statement [207] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) always clobbers reg byte a reg byte y -Statement [208] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) always clobbers reg byte a -Statement [210] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) always clobbers reg byte a -Statement [214] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) always clobbers reg byte a -Statement [220] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) always clobbers reg byte a -Statement [225] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) always clobbers reg byte a +Statement [204] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) always clobbers reg byte a reg byte y +Statement [205] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) always clobbers reg byte a +Statement [207] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) always clobbers reg byte a +Statement [211] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) always clobbers reg byte a +Statement [217] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) always clobbers reg byte a +Statement [222] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) always clobbers reg byte a Statement asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } always clobbers reg byte a reg byte x reg byte y -Statement [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a -Statement [228] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a -Statement [229] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a -Statement [230] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a -Statement [235] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) always clobbers reg byte a +Statement [224] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a +Statement [225] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a +Statement [226] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a +Statement [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a +Statement [232] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:34 [ init_multiply::c#2 init_multiply::c#1 ] -Statement [240] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) always clobbers reg byte a -Statement [241] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) always clobbers reg byte y +Statement [237] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) always clobbers reg byte a +Statement [238] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:34 [ init_multiply::c#2 init_multiply::c#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] -Statement [242] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) always clobbers reg byte a -Statement [243] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) always clobbers reg byte y -Statement [245] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) always clobbers reg byte a -Statement [247] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) always clobbers reg byte a -Statement [249] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) always clobbers reg byte a reg byte y +Statement [239] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) always clobbers reg byte a +Statement [240] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) always clobbers reg byte y +Statement [242] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) always clobbers reg byte a +Statement [244] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) always clobbers reg byte a +Statement [246] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp ZP_BYTE:42 [ init_multiply::x_255#2 init_multiply::x_255#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:42 [ init_multiply::x_255#2 init_multiply::x_255#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] -Statement [250] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) always clobbers reg byte a reg byte y -Statement [252] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) always clobbers reg byte a -Statement [256] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) always clobbers reg byte a -Statement [257] *((const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_lo#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) always clobbers reg byte a -Statement [258] *((const byte[512]) mul_sqr2_hi#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_hi#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) always clobbers reg byte a -Statement [263] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [265] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [247] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) always clobbers reg byte a reg byte y +Statement [249] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) always clobbers reg byte a +Statement [253] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) always clobbers reg byte a +Statement [254] *((const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_lo#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) always clobbers reg byte a +Statement [255] *((const byte[512]) mul_sqr2_hi#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_hi#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) always clobbers reg byte a +Statement [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [262] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) always clobbers reg byte a Statement [4] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 5 [ ] ( main:2 [ ] ) always clobbers reg byte a Statement [23] (signed word) slow_signed_multiply::return#2 ← (signed word) slow_signed_multiply::return#0 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 slow_signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 slow_signed_multiply::return#2 line_cursor#1 ] ) always clobbers reg byte a Statement [24] (signed word) signed_multiply_results_compare::ms#0 ← (signed word) slow_signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 ] ) always clobbers reg byte a -Statement [28] (signed word) signed_multiply::return#2 ← (signed word) signed_multiply::return#0 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) always clobbers reg byte a +Statement [28] (signed word) signed_multiply::return#2 ← (signed word)(word) signed_multiply::m#4 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) always clobbers reg byte a Statement [29] (signed word) signed_multiply_results_compare::ma#0 ← (signed word) signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) always clobbers reg byte a Statement [30] if((signed word) signed_multiply_results_compare::ms#0==(signed word) signed_multiply_results_compare::ma#0) goto signed_multiply_results_compare::@3 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) always clobbers reg byte a Statement [31] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) always clobbers reg byte a Statement [34] (signed word) signed_multiply_error::ms#0 ← (signed word) signed_multiply_results_compare::ms#0 [ signed_multiply_results_compare::ma#0 signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::ma#0 signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 line_cursor#1 ] ) always clobbers reg byte a Statement [35] (signed word) signed_multiply_error::ma#0 ← (signed word) signed_multiply_results_compare::ma#0 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 ] ) always clobbers reg byte a Statement [42] (byte*~) char_cursor#176 ← (byte*) line_cursor#1 [ char_cursor#176 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ char_cursor#176 line_cursor#1 ] ) always clobbers reg byte a -Statement [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) always clobbers reg byte a -Statement [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) always clobbers reg byte a -Statement [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) always clobbers reg byte a reg byte y -Statement [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) always clobbers reg byte a reg byte y +Statement [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) always clobbers reg byte a +Statement [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) always clobbers reg byte a +Statement [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) always clobbers reg byte a reg byte y +Statement [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) always clobbers reg byte a reg byte y Statement [58] (byte*~) char_cursor#172 ← (byte*) line_cursor#1 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#172 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#172 ] ) always clobbers reg byte a Statement [68] (signed word) print_sword::w#1 ← (signed word) signed_multiply_error::ms#0 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sword::w#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sword::w#1 ] ) always clobbers reg byte a Statement [72] (signed word) print_sword::w#2 ← (signed word) signed_multiply_error::ma#0 [ line_cursor#1 char_cursor#117 print_sword::w#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36 [ line_cursor#1 char_cursor#117 print_sword::w#2 ] ) always clobbers reg byte a Statement [78] if((signed word) print_sword::w#3>=(byte/signed byte/word/signed word) 0) goto print_sword::@1 [ char_cursor#117 print_sword::w#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_sword::w#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#117 print_sword::w#3 ] ) always clobbers reg byte a Statement [81] (signed word) print_sword::w#0 ← - (signed word) print_sword::w#3 [ char_cursor#17 print_sword::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_sword::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 print_sword::w#0 ] ) always clobbers reg byte a -Statement [83] (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 [ char_cursor#119 print_word::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#0 ] ) always clobbers reg byte a -Statement [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) always clobbers reg byte a -Statement [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_byte::b#2 ] ) always clobbers reg byte a -Statement [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) always clobbers reg byte a -Statement [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) always clobbers reg byte y +Statement [83] (word~) print_word::w#11 ← (word)(signed word) print_sword::w#4 [ char_cursor#119 print_word::w#11 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#11 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#11 ] ) always clobbers reg byte a +Statement [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) always clobbers reg byte a +Statement [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_byte::b#2 ] ) always clobbers reg byte a +Statement [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) always clobbers reg byte a +Statement [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) always clobbers reg byte y Statement [108] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#3 [ char_cursor#17 print_sbyte::b#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_sbyte::b#0 ] ) always clobbers reg byte a Statement [116] (word) multiply::return#2 ← (word) multiply::return#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ) always clobbers reg byte a Statement [117] (word) signed_multiply::m#0 ← (word) multiply::return#2 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 ] ) always clobbers reg byte a Statement [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) always clobbers reg byte a -Statement [121] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) always clobbers reg byte a -Statement [125] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) always clobbers reg byte a -Statement [127] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) always clobbers reg byte a -Statement [130] (signed word) signed_multiply::return#0 ← ((signed word)) (word) signed_multiply::m#4 [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) always clobbers reg byte a +Statement [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) always clobbers reg byte a +Statement [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) always clobbers reg byte a +Statement [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) always clobbers reg byte a Statement asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } always clobbers reg byte a reg byte x -Statement [136] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) always clobbers reg byte a -Statement [140] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) always clobbers reg byte a -Statement [147] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) always clobbers reg byte a -Statement [156] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) always clobbers reg byte a -Statement [157] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) always clobbers reg byte a -Statement [161] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) always clobbers reg byte a -Statement [162] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a -Statement [163] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a -Statement [164] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a -Statement [167] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) always clobbers reg byte a -Statement [168] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) always clobbers reg byte a -Statement [189] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) always clobbers reg byte a -Statement [193] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) always clobbers reg byte a -Statement [200] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) always clobbers reg byte a -Statement [207] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) always clobbers reg byte a reg byte y -Statement [208] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) always clobbers reg byte a -Statement [210] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) always clobbers reg byte a -Statement [214] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) always clobbers reg byte a -Statement [220] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) always clobbers reg byte a -Statement [225] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) always clobbers reg byte a +Statement [133] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) always clobbers reg byte a +Statement [137] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) always clobbers reg byte a +Statement [144] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) always clobbers reg byte a +Statement [153] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) always clobbers reg byte a +Statement [154] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) always clobbers reg byte a +Statement [158] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) always clobbers reg byte a +Statement [159] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a +Statement [160] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a +Statement [161] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) always clobbers reg byte a +Statement [164] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) always clobbers reg byte a +Statement [165] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) always clobbers reg byte a +Statement [186] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) always clobbers reg byte a +Statement [190] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) always clobbers reg byte a +Statement [197] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) always clobbers reg byte a +Statement [204] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) always clobbers reg byte a reg byte y +Statement [205] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) always clobbers reg byte a +Statement [207] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) always clobbers reg byte a +Statement [211] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) always clobbers reg byte a +Statement [217] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) always clobbers reg byte a +Statement [222] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) always clobbers reg byte a Statement asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } always clobbers reg byte a reg byte x reg byte y -Statement [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a -Statement [228] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a -Statement [229] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a -Statement [230] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a -Statement [235] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) always clobbers reg byte a -Statement [240] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) always clobbers reg byte a -Statement [241] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) always clobbers reg byte y -Statement [242] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) always clobbers reg byte a -Statement [243] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) always clobbers reg byte y -Statement [245] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) always clobbers reg byte a -Statement [247] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) always clobbers reg byte a -Statement [249] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) always clobbers reg byte a reg byte y -Statement [250] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) always clobbers reg byte a reg byte y -Statement [252] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) always clobbers reg byte a -Statement [256] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) always clobbers reg byte a -Statement [257] *((const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_lo#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) always clobbers reg byte a -Statement [258] *((const byte[512]) mul_sqr2_hi#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_hi#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) always clobbers reg byte a -Statement [263] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [265] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) always clobbers reg byte a +Statement [224] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a +Statement [225] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a +Statement [226] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a +Statement [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) always clobbers reg byte a +Statement [232] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) always clobbers reg byte a +Statement [237] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) always clobbers reg byte a +Statement [238] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) always clobbers reg byte y +Statement [239] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) always clobbers reg byte a +Statement [240] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) always clobbers reg byte y +Statement [242] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) always clobbers reg byte a +Statement [244] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) always clobbers reg byte a +Statement [246] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) always clobbers reg byte a reg byte y +Statement [247] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) always clobbers reg byte a reg byte y +Statement [249] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) always clobbers reg byte a +Statement [253] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) always clobbers reg byte a +Statement [254] *((const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_lo#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) always clobbers reg byte a +Statement [255] *((const byte[512]) mul_sqr2_hi#0+(word/signed word) 511) ← *((const byte[512]) mul_sqr1_hi#0+(word/signed word) 256) [ ] ( main:2::init_multiply:7 [ ] ) always clobbers reg byte a +Statement [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [262] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] : zp ZP_BYTE:2 , reg byte y , Potential registers zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] : zp ZP_BYTE:3 , reg byte y , Potential registers zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 ] : zp ZP_WORD:4 , Potential registers zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 ] : zp ZP_WORD:6 , Potential registers zp ZP_WORD:8 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] : zp ZP_WORD:8 , -Potential registers zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 ] : zp ZP_WORD:10 , -Potential registers zp ZP_BYTE:12 [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] : zp ZP_BYTE:12 , reg byte a , reg byte x , +Potential registers zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] : zp ZP_WORD:10 , +Potential registers zp ZP_BYTE:12 [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] : zp ZP_BYTE:12 , reg byte a , reg byte x , Potential registers zp ZP_BYTE:13 [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] : zp ZP_BYTE:13 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_WORD:14 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ] : zp ZP_WORD:14 , Potential registers zp ZP_BYTE:16 [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] : zp ZP_BYTE:16 , reg byte a , reg byte x , Potential registers zp ZP_WORD:17 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] : zp ZP_WORD:17 , -Potential registers zp ZP_BYTE:19 [ multiply::a#2 multiply::a#1 multiply::a#0 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:20 [ multiply::b#2 multiply::b#1 multiply::b#0 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:19 [ multiply::a#2 multiply::a#1 multiply::a#4 ] : zp ZP_BYTE:19 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:20 [ multiply::b#2 multiply::b#1 multiply::b#4 ] : zp ZP_BYTE:20 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_BYTE:21 [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] : zp ZP_BYTE:21 , reg byte x , reg byte y , Potential registers zp ZP_WORD:22 [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] : zp ZP_WORD:22 , Potential registers zp ZP_BYTE:24 [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] : zp ZP_BYTE:24 , reg byte x , reg byte y , @@ -8317,104 +8287,97 @@ Potential registers zp ZP_BYTE:68 [ print_byte::$0 ] : zp ZP_BYTE:68 , reg byte Potential registers zp ZP_BYTE:69 [ print_byte::$2 ] : zp ZP_BYTE:69 , reg byte a , reg byte x , reg byte y , Potential registers zp ZP_WORD:70 [ multiply::return#2 ] : zp ZP_WORD:70 , Potential registers zp ZP_BYTE:72 [ signed_multiply::$6 ] : zp ZP_BYTE:72 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:73 [ signed_multiply::$7 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:74 [ signed_multiply::$16 ] : zp ZP_BYTE:74 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:75 [ signed_multiply::$12 ] : zp ZP_BYTE:75 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:76 [ signed_multiply::$13 ] : zp ZP_BYTE:76 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:77 [ signed_multiply::$17 ] : zp ZP_BYTE:77 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:78 [ signed_multiply::return#0 ] : zp ZP_WORD:78 , -Potential registers zp ZP_WORD:80 [ multiply::return#0 ] : zp ZP_WORD:80 , -Potential registers zp ZP_BYTE:82 [ slow_multiply::a#0 ] : zp ZP_BYTE:82 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:83 [ slow_multiply::b#0 ] : zp ZP_BYTE:83 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:84 [ slow_multiply::return#2 ] : zp ZP_WORD:84 , -Potential registers zp ZP_WORD:86 [ multiply_results_compare::ms#0 ] : zp ZP_WORD:86 , -Potential registers zp ZP_WORD:88 [ multiply::return#3 ] : zp ZP_WORD:88 , -Potential registers zp ZP_WORD:90 [ multiply_results_compare::ma#0 ] : zp ZP_WORD:90 , -Potential registers zp ZP_BYTE:92 [ multiply_error::a#0 ] : zp ZP_BYTE:92 , reg byte x , -Potential registers zp ZP_BYTE:93 [ multiply_error::b#0 ] : zp ZP_BYTE:93 , reg byte x , -Potential registers zp ZP_WORD:94 [ multiply_error::ms#0 ] : zp ZP_WORD:94 , -Potential registers zp ZP_WORD:96 [ multiply_error::ma#0 ] : zp ZP_WORD:96 , -Potential registers zp ZP_BYTE:98 [ init_multiply::$2 ] : zp ZP_BYTE:98 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:99 [ init_multiply::$5 ] : zp ZP_BYTE:99 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:100 [ init_multiply::$6 ] : zp ZP_BYTE:100 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:73 [ signed_multiply::$16 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:74 [ signed_multiply::$12 ] : zp ZP_BYTE:74 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:75 [ signed_multiply::$17 ] : zp ZP_BYTE:75 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:76 [ multiply::return#0 ] : zp ZP_WORD:76 , +Potential registers zp ZP_BYTE:78 [ slow_multiply::a#0 ] : zp ZP_BYTE:78 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:79 [ slow_multiply::b#0 ] : zp ZP_BYTE:79 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:80 [ slow_multiply::return#2 ] : zp ZP_WORD:80 , +Potential registers zp ZP_WORD:82 [ multiply_results_compare::ms#0 ] : zp ZP_WORD:82 , +Potential registers zp ZP_WORD:84 [ multiply::return#3 ] : zp ZP_WORD:84 , +Potential registers zp ZP_WORD:86 [ multiply_results_compare::ma#0 ] : zp ZP_WORD:86 , +Potential registers zp ZP_BYTE:88 [ multiply_error::a#0 ] : zp ZP_BYTE:88 , reg byte x , +Potential registers zp ZP_BYTE:89 [ multiply_error::b#0 ] : zp ZP_BYTE:89 , reg byte x , +Potential registers zp ZP_WORD:90 [ multiply_error::ms#0 ] : zp ZP_WORD:90 , +Potential registers zp ZP_WORD:92 [ multiply_error::ma#0 ] : zp ZP_WORD:92 , +Potential registers zp ZP_BYTE:94 [ init_multiply::$2 ] : zp ZP_BYTE:94 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:95 [ init_multiply::$5 ] : zp ZP_BYTE:95 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:96 [ init_multiply::$6 ] : zp ZP_BYTE:96 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES Uplift Scope [slow_signed_multiply] 6,707: zp ZP_WORD:22 [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] 2,502.5: zp ZP_BYTE:21 [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] 2,502.5: zp ZP_BYTE:24 [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] 202: zp ZP_WORD:52 [ slow_signed_multiply::return#2 ] 191.18: zp ZP_BYTE:51 [ slow_signed_multiply::b#0 ] 175.58: zp ZP_BYTE:50 [ slow_signed_multiply::a#0 ] -Uplift Scope [slow_multiply] 3,370.33: zp ZP_WORD:28 [ slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 ] 2,502.5: zp ZP_BYTE:27 [ slow_multiply::i#2 slow_multiply::i#1 ] 202: zp ZP_WORD:84 [ slow_multiply::return#2 ] 183.67: zp ZP_BYTE:83 [ slow_multiply::b#0 ] 157.71: zp ZP_BYTE:82 [ slow_multiply::a#0 ] -Uplift Scope [multiply] 258.5: zp ZP_BYTE:20 [ multiply::b#2 multiply::b#1 multiply::b#0 ] 208: zp ZP_BYTE:19 [ multiply::a#2 multiply::a#1 multiply::a#0 ] 202: zp ZP_WORD:88 [ multiply::return#3 ] 26.25: zp ZP_WORD:80 [ multiply::return#0 ] 4: zp ZP_WORD:70 [ multiply::return#2 ] -Uplift Scope [signed_multiply] 202: zp ZP_WORD:58 [ signed_multiply::return#2 ] 34.33: zp ZP_WORD:78 [ signed_multiply::return#0 ] 17.6: zp ZP_WORD:17 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] 8.92: zp ZP_BYTE:57 [ signed_multiply::b#0 ] 7.13: zp ZP_BYTE:56 [ signed_multiply::a#0 ] 4: zp ZP_BYTE:73 [ signed_multiply::$7 ] 4: zp ZP_BYTE:74 [ signed_multiply::$16 ] 4: zp ZP_BYTE:76 [ signed_multiply::$13 ] 4: zp ZP_BYTE:77 [ signed_multiply::$17 ] 2: zp ZP_BYTE:72 [ signed_multiply::$6 ] 2: zp ZP_BYTE:75 [ signed_multiply::$12 ] -Uplift Scope [multiply_results_compare] 180.5: zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] 34: zp ZP_WORD:90 [ multiply_results_compare::ma#0 ] 30.62: zp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] 20.4: zp ZP_WORD:86 [ multiply_results_compare::ms#0 ] +Uplift Scope [slow_multiply] 3,370.33: zp ZP_WORD:28 [ slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 ] 2,502.5: zp ZP_BYTE:27 [ slow_multiply::i#2 slow_multiply::i#1 ] 202: zp ZP_WORD:80 [ slow_multiply::return#2 ] 183.67: zp ZP_BYTE:79 [ slow_multiply::b#0 ] 157.71: zp ZP_BYTE:78 [ slow_multiply::a#0 ] +Uplift Scope [multiply] 258.5: zp ZP_BYTE:20 [ multiply::b#2 multiply::b#1 multiply::b#4 ] 208: zp ZP_BYTE:19 [ multiply::a#2 multiply::a#1 multiply::a#4 ] 202: zp ZP_WORD:84 [ multiply::return#3 ] 26.25: zp ZP_WORD:76 [ multiply::return#0 ] 4: zp ZP_WORD:70 [ multiply::return#2 ] +Uplift Scope [multiply_results_compare] 180.5: zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] 34: zp ZP_WORD:86 [ multiply_results_compare::ma#0 ] 30.62: zp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] 20.4: zp ZP_WORD:82 [ multiply_results_compare::ms#0 ] Uplift Scope [signed_multiply_results_compare] 180.5: zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] 34: zp ZP_WORD:60 [ signed_multiply_results_compare::ma#0 ] 30.62: zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] 20.4: zp ZP_WORD:54 [ signed_multiply_results_compare::ms#0 ] -Uplift Scope [init_multiply] 45.1: zp ZP_WORD:40 [ init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 ] 24.36: zp ZP_BYTE:34 [ init_multiply::c#2 init_multiply::c#1 ] 24.14: zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] 22: zp ZP_BYTE:98 [ init_multiply::$2 ] 22: zp ZP_BYTE:99 [ init_multiply::$5 ] 22: zp ZP_BYTE:100 [ init_multiply::$6 ] 20.62: zp ZP_WORD:43 [ init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 ] 19.04: zp ZP_WORD:35 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 ] 16.5: zp ZP_BYTE:42 [ init_multiply::x_255#2 init_multiply::x_255#1 ] 14.14: zp ZP_WORD:45 [ init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ] 12.05: zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] 8.5: zp ZP_WORD:37 [ init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 ] +Uplift Scope [init_multiply] 45.1: zp ZP_WORD:40 [ init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 ] 24.36: zp ZP_BYTE:34 [ init_multiply::c#2 init_multiply::c#1 ] 24.14: zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] 22: zp ZP_BYTE:94 [ init_multiply::$2 ] 22: zp ZP_BYTE:95 [ init_multiply::$5 ] 22: zp ZP_BYTE:96 [ init_multiply::$6 ] 20.62: zp ZP_WORD:43 [ init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 ] 19.04: zp ZP_WORD:35 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 ] 16.5: zp ZP_BYTE:42 [ init_multiply::x_255#2 init_multiply::x_255#1 ] 14.14: zp ZP_WORD:45 [ init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ] 12.05: zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] 8.5: zp ZP_WORD:37 [ init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 ] +Uplift Scope [signed_multiply] 202: zp ZP_WORD:58 [ signed_multiply::return#2 ] 13.83: zp ZP_WORD:17 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] 9.36: zp ZP_BYTE:57 [ signed_multiply::b#0 ] 7.36: zp ZP_BYTE:56 [ signed_multiply::a#0 ] 4: zp ZP_BYTE:72 [ signed_multiply::$6 ] 4: zp ZP_BYTE:73 [ signed_multiply::$16 ] 4: zp ZP_BYTE:74 [ signed_multiply::$12 ] 4: zp ZP_BYTE:75 [ signed_multiply::$17 ] Uplift Scope [] 77.01: zp ZP_WORD:14 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ] 34.95: zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 ] Uplift Scope [multiply_tables_compare] 20.39: zp ZP_WORD:30 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 ] 16.08: zp ZP_WORD:32 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 ] Uplift Scope [print_str] 35.5: zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 ] Uplift Scope [print_cls] 33: zp ZP_WORD:48 [ print_cls::sc#2 print_cls::sc#1 ] -Uplift Scope [print_byte] 23.5: zp ZP_BYTE:12 [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] 4: zp ZP_BYTE:68 [ print_byte::$0 ] 4: zp ZP_BYTE:69 [ print_byte::$2 ] -Uplift Scope [print_word] 24.67: zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 ] -Uplift Scope [print_sword] 20.5: zp ZP_WORD:8 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] -Uplift Scope [print_sbyte] 20.5: zp ZP_BYTE:16 [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] +Uplift Scope [print_byte] 23.5: zp ZP_BYTE:12 [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] 4: zp ZP_BYTE:68 [ print_byte::$0 ] 4: zp ZP_BYTE:69 [ print_byte::$2 ] +Uplift Scope [print_word] 24.67: zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] +Uplift Scope [print_sword] 18.5: zp ZP_WORD:8 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] +Uplift Scope [print_sbyte] 18.5: zp ZP_BYTE:16 [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] Uplift Scope [print_char] 14: zp ZP_BYTE:13 [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] -Uplift Scope [multiply_error] 0.67: zp ZP_BYTE:92 [ multiply_error::a#0 ] 0.44: zp ZP_BYTE:93 [ multiply_error::b#0 ] 0.33: zp ZP_WORD:94 [ multiply_error::ms#0 ] 0.27: zp ZP_WORD:96 [ multiply_error::ma#0 ] +Uplift Scope [multiply_error] 0.67: zp ZP_BYTE:88 [ multiply_error::a#0 ] 0.44: zp ZP_BYTE:89 [ multiply_error::b#0 ] 0.33: zp ZP_WORD:90 [ multiply_error::ms#0 ] 0.27: zp ZP_WORD:92 [ multiply_error::ma#0 ] Uplift Scope [signed_multiply_error] 0.67: zp ZP_BYTE:62 [ signed_multiply_error::a#0 ] 0.44: zp ZP_BYTE:63 [ signed_multiply_error::b#0 ] 0.33: zp ZP_WORD:64 [ signed_multiply_error::ms#0 ] 0.27: zp ZP_WORD:66 [ signed_multiply_error::ma#0 ] Uplift Scope [print_ln] Uplift Scope [main] Uplift Scope [init_multiply_asm] -Uplifting [slow_signed_multiply] best 214496 combination zp ZP_WORD:22 [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] reg byte y [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] reg byte y [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] zp ZP_WORD:52 [ slow_signed_multiply::return#2 ] reg byte x [ slow_signed_multiply::b#0 ] zp ZP_BYTE:50 [ slow_signed_multiply::a#0 ] -Uplifting [slow_multiply] best 204196 combination zp ZP_WORD:28 [ slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 ] reg byte y [ slow_multiply::i#2 slow_multiply::i#1 ] zp ZP_WORD:84 [ slow_multiply::return#2 ] reg byte x [ slow_multiply::b#0 ] zp ZP_BYTE:82 [ slow_multiply::a#0 ] -Uplifting [multiply] best 203584 combination reg byte x [ multiply::b#2 multiply::b#1 multiply::b#0 ] reg byte a [ multiply::a#2 multiply::a#1 multiply::a#0 ] zp ZP_WORD:88 [ multiply::return#3 ] zp ZP_WORD:80 [ multiply::return#0 ] zp ZP_WORD:70 [ multiply::return#2 ] -Uplift attempts [signed_multiply] 10000/16384 (limiting to 10000) -Uplifting [signed_multiply] best 203253 combination zp ZP_WORD:58 [ signed_multiply::return#2 ] zp ZP_WORD:78 [ signed_multiply::return#0 ] zp ZP_WORD:17 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] zp ZP_BYTE:57 [ signed_multiply::b#0 ] reg byte y [ signed_multiply::a#0 ] reg byte x [ signed_multiply::$7 ] reg byte a [ signed_multiply::$16 ] zp ZP_BYTE:76 [ signed_multiply::$13 ] reg byte a [ signed_multiply::$17 ] reg byte a [ signed_multiply::$6 ] reg byte a [ signed_multiply::$12 ] -Limited combination testing to 10000 combinations of 16384 possible. -Uplifting [multiply_results_compare] best 203253 combination zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] zp ZP_WORD:90 [ multiply_results_compare::ma#0 ] zp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] zp ZP_WORD:86 [ multiply_results_compare::ms#0 ] -Uplifting [signed_multiply_results_compare] best 203253 combination zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] zp ZP_WORD:60 [ signed_multiply_results_compare::ma#0 ] zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] zp ZP_WORD:54 [ signed_multiply_results_compare::ms#0 ] -Uplifting [init_multiply] best 202903 combination zp ZP_WORD:40 [ init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 ] reg byte x [ init_multiply::c#2 init_multiply::c#1 ] zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] reg byte a [ init_multiply::$2 ] reg byte a [ init_multiply::$5 ] reg byte a [ init_multiply::$6 ] zp ZP_WORD:43 [ init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 ] zp ZP_WORD:35 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 ] reg byte x [ init_multiply::x_255#2 init_multiply::x_255#1 ] zp ZP_WORD:45 [ init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ] zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] zp ZP_WORD:37 [ init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 ] -Uplifting [] best 202903 combination zp ZP_WORD:14 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ] zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 ] -Uplifting [multiply_tables_compare] best 202903 combination zp ZP_WORD:30 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 ] zp ZP_WORD:32 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 ] -Uplifting [print_str] best 202903 combination zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 ] -Uplifting [print_cls] best 202903 combination zp ZP_WORD:48 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [print_byte] best 202882 combination reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] -Uplifting [print_word] best 202882 combination zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 ] -Uplifting [print_sword] best 202882 combination zp ZP_WORD:8 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] -Uplifting [print_sbyte] best 202868 combination reg byte x [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] -Uplifting [print_char] best 202853 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] -Uplifting [multiply_error] best 202847 combination reg byte x [ multiply_error::a#0 ] zp ZP_BYTE:93 [ multiply_error::b#0 ] zp ZP_WORD:94 [ multiply_error::ms#0 ] zp ZP_WORD:96 [ multiply_error::ma#0 ] -Uplifting [signed_multiply_error] best 202841 combination reg byte x [ signed_multiply_error::a#0 ] zp ZP_BYTE:63 [ signed_multiply_error::b#0 ] zp ZP_WORD:64 [ signed_multiply_error::ms#0 ] zp ZP_WORD:66 [ signed_multiply_error::ma#0 ] -Uplifting [print_ln] best 202841 combination -Uplifting [main] best 202841 combination -Uplifting [init_multiply_asm] best 202841 combination +Uplifting [slow_signed_multiply] best 214499 combination zp ZP_WORD:22 [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] reg byte y [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] reg byte y [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] zp ZP_WORD:52 [ slow_signed_multiply::return#2 ] reg byte x [ slow_signed_multiply::b#0 ] zp ZP_BYTE:50 [ slow_signed_multiply::a#0 ] +Uplifting [slow_multiply] best 204199 combination zp ZP_WORD:28 [ slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 ] reg byte y [ slow_multiply::i#2 slow_multiply::i#1 ] zp ZP_WORD:80 [ slow_multiply::return#2 ] reg byte x [ slow_multiply::b#0 ] zp ZP_BYTE:78 [ slow_multiply::a#0 ] +Uplifting [multiply] best 203587 combination reg byte x [ multiply::b#2 multiply::b#1 multiply::b#4 ] reg byte a [ multiply::a#2 multiply::a#1 multiply::a#4 ] zp ZP_WORD:84 [ multiply::return#3 ] zp ZP_WORD:76 [ multiply::return#0 ] zp ZP_WORD:70 [ multiply::return#2 ] +Uplifting [multiply_results_compare] best 203587 combination zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] zp ZP_WORD:86 [ multiply_results_compare::ma#0 ] zp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] zp ZP_WORD:82 [ multiply_results_compare::ms#0 ] +Uplifting [signed_multiply_results_compare] best 203587 combination zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] zp ZP_WORD:60 [ signed_multiply_results_compare::ma#0 ] zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] zp ZP_WORD:54 [ signed_multiply_results_compare::ms#0 ] +Uplifting [init_multiply] best 203237 combination zp ZP_WORD:40 [ init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 ] reg byte x [ init_multiply::c#2 init_multiply::c#1 ] zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] reg byte a [ init_multiply::$2 ] reg byte a [ init_multiply::$5 ] reg byte a [ init_multiply::$6 ] zp ZP_WORD:43 [ init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 ] zp ZP_WORD:35 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 ] reg byte x [ init_multiply::x_255#2 init_multiply::x_255#1 ] zp ZP_WORD:45 [ init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ] zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] zp ZP_WORD:37 [ init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 ] +Uplifting [signed_multiply] best 202912 combination zp ZP_WORD:58 [ signed_multiply::return#2 ] zp ZP_WORD:17 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] zp ZP_BYTE:57 [ signed_multiply::b#0 ] reg byte y [ signed_multiply::a#0 ] reg byte a [ signed_multiply::$6 ] reg byte a [ signed_multiply::$16 ] reg byte a [ signed_multiply::$12 ] reg byte a [ signed_multiply::$17 ] +Uplifting [] best 202912 combination zp ZP_WORD:14 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ] zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 ] +Uplifting [multiply_tables_compare] best 202912 combination zp ZP_WORD:30 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 ] zp ZP_WORD:32 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 ] +Uplifting [print_str] best 202912 combination zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 ] +Uplifting [print_cls] best 202912 combination zp ZP_WORD:48 [ print_cls::sc#2 print_cls::sc#1 ] +Uplifting [print_byte] best 202891 combination reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] +Uplifting [print_word] best 202891 combination zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] +Uplifting [print_sword] best 202891 combination zp ZP_WORD:8 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] +Uplifting [print_sbyte] best 202877 combination reg byte x [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] +Uplifting [print_char] best 202862 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] +Uplifting [multiply_error] best 202856 combination reg byte x [ multiply_error::a#0 ] zp ZP_BYTE:89 [ multiply_error::b#0 ] zp ZP_WORD:90 [ multiply_error::ms#0 ] zp ZP_WORD:92 [ multiply_error::ma#0 ] +Uplifting [signed_multiply_error] best 202850 combination reg byte x [ signed_multiply_error::a#0 ] zp ZP_BYTE:63 [ signed_multiply_error::b#0 ] zp ZP_WORD:64 [ signed_multiply_error::ms#0 ] zp ZP_WORD:66 [ signed_multiply_error::ma#0 ] +Uplifting [print_ln] best 202850 combination +Uplifting [main] best 202850 combination +Uplifting [init_multiply_asm] best 202850 combination Attempting to uplift remaining variables inzp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] -Uplifting [signed_multiply_results_compare] best 202841 combination zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] +Uplifting [signed_multiply_results_compare] best 202850 combination zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] -Uplifting [multiply_results_compare] best 202841 combination zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] +Uplifting [multiply_results_compare] best 202850 combination zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:50 [ slow_signed_multiply::a#0 ] -Uplifting [slow_signed_multiply] best 202841 combination zp ZP_BYTE:50 [ slow_signed_multiply::a#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:82 [ slow_multiply::a#0 ] -Uplifting [slow_multiply] best 202841 combination zp ZP_BYTE:82 [ slow_multiply::a#0 ] +Uplifting [slow_signed_multiply] best 202850 combination zp ZP_BYTE:50 [ slow_signed_multiply::a#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:78 [ slow_multiply::a#0 ] +Uplifting [slow_multiply] best 202850 combination zp ZP_BYTE:78 [ slow_multiply::a#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] -Uplifting [signed_multiply_results_compare] best 202841 combination zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] +Uplifting [signed_multiply_results_compare] best 202850 combination zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] -Uplifting [multiply_results_compare] best 202841 combination zp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] +Uplifting [multiply_results_compare] best 202850 combination zp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] -Uplifting [init_multiply] best 202841 combination zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] +Uplifting [init_multiply] best 202850 combination zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] -Uplifting [init_multiply] best 202841 combination zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] +Uplifting [init_multiply] best 202850 combination zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:57 [ signed_multiply::b#0 ] -Uplifting [signed_multiply] best 202841 combination zp ZP_BYTE:57 [ signed_multiply::b#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:76 [ signed_multiply::$13 ] -Uplifting [signed_multiply] best 202841 combination zp ZP_BYTE:76 [ signed_multiply::$13 ] +Uplifting [signed_multiply] best 202850 combination zp ZP_BYTE:57 [ signed_multiply::b#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:63 [ signed_multiply_error::b#0 ] -Uplifting [signed_multiply_error] best 202841 combination zp ZP_BYTE:63 [ signed_multiply_error::b#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:93 [ multiply_error::b#0 ] -Uplifting [multiply_error] best 202841 combination zp ZP_BYTE:93 [ multiply_error::b#0 ] +Uplifting [signed_multiply_error] best 202850 combination zp ZP_BYTE:63 [ signed_multiply_error::b#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:89 [ multiply_error::b#0 ] +Uplifting [multiply_error] best 202850 combination zp ZP_BYTE:89 [ multiply_error::b#0 ] Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 ] ] with [ zp ZP_BYTE:25 [ multiply_results_compare::a#6 multiply_results_compare::a#1 ] ] Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 ] ] with [ zp ZP_BYTE:39 [ init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] ] Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 ] ] with [ zp ZP_BYTE:47 [ init_multiply::dir#2 init_multiply::dir#3 ] ] Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 ] ] with [ zp ZP_BYTE:50 [ slow_signed_multiply::a#0 ] ] Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 slow_signed_multiply::a#0 ] ] with [ zp ZP_BYTE:63 [ signed_multiply_error::b#0 ] ] -Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 slow_signed_multiply::a#0 signed_multiply_error::b#0 ] ] with [ zp ZP_BYTE:82 [ slow_multiply::a#0 ] ] -Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 slow_signed_multiply::a#0 signed_multiply_error::b#0 slow_multiply::a#0 ] ] with [ zp ZP_BYTE:93 [ multiply_error::b#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 slow_signed_multiply::a#0 signed_multiply_error::b#0 ] ] with [ zp ZP_BYTE:78 [ slow_multiply::a#0 ] ] +Coalescing zero page register [ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 slow_signed_multiply::a#0 signed_multiply_error::b#0 slow_multiply::a#0 ] ] with [ zp ZP_BYTE:89 [ multiply_error::b#0 ] ] Coalescing zero page register [ zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 ] ] with [ zp ZP_BYTE:26 [ multiply_results_compare::b#2 multiply_results_compare::b#1 ] ] Coalescing zero page register [ zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 multiply_results_compare::b#2 multiply_results_compare::b#1 ] ] with [ zp ZP_BYTE:57 [ signed_multiply::b#0 ] ] Coalescing zero page register [ zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 ] ] with [ zp ZP_WORD:30 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 ] ] @@ -8422,31 +8385,29 @@ Coalescing zero page register [ zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 lin Coalescing zero page register [ zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 ] ] with [ zp ZP_WORD:43 [ init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 ] ] Coalescing zero page register [ zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 ] ] with [ zp ZP_WORD:48 [ print_cls::sc#2 print_cls::sc#1 ] ] Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 ] ] with [ zp ZP_WORD:8 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] ] with [ zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 ] ] with [ zp ZP_WORD:17 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] ] with [ zp ZP_WORD:22 [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] ] with [ zp ZP_WORD:28 [ slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 ] ] with [ zp ZP_WORD:37 [ init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 ] ] with [ zp ZP_WORD:45 [ init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ] ] with [ zp ZP_WORD:52 [ slow_signed_multiply::return#2 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 ] ] with [ zp ZP_WORD:58 [ signed_multiply::return#2 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 ] ] with [ zp ZP_WORD:60 [ signed_multiply_results_compare::ma#0 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 ] ] with [ zp ZP_WORD:70 [ multiply::return#2 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 ] ] with [ zp ZP_WORD:78 [ signed_multiply::return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 signed_multiply::return#0 ] ] with [ zp ZP_WORD:80 [ multiply::return#0 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 signed_multiply::return#0 multiply::return#0 ] ] with [ zp ZP_WORD:84 [ slow_multiply::return#2 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 signed_multiply::return#0 multiply::return#0 slow_multiply::return#2 ] ] with [ zp ZP_WORD:88 [ multiply::return#3 ] ] -Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 signed_multiply::return#0 multiply::return#0 slow_multiply::return#2 multiply::return#3 ] ] with [ zp ZP_WORD:90 [ multiply_results_compare::ma#0 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] ] with [ zp ZP_WORD:10 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] ] with [ zp ZP_WORD:17 [ signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 ] ] with [ zp ZP_WORD:22 [ slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 ] ] with [ zp ZP_WORD:28 [ slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 ] ] with [ zp ZP_WORD:37 [ init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 ] ] with [ zp ZP_WORD:45 [ init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 ] ] with [ zp ZP_WORD:52 [ slow_signed_multiply::return#2 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 ] ] with [ zp ZP_WORD:58 [ signed_multiply::return#2 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 ] ] with [ zp ZP_WORD:60 [ signed_multiply_results_compare::ma#0 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 ] ] with [ zp ZP_WORD:70 [ multiply::return#2 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 ] ] with [ zp ZP_WORD:76 [ multiply::return#0 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 multiply::return#0 ] ] with [ zp ZP_WORD:80 [ slow_multiply::return#2 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 multiply::return#0 slow_multiply::return#2 ] ] with [ zp ZP_WORD:84 [ multiply::return#3 ] ] +Coalescing zero page register [ zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 multiply::return#0 slow_multiply::return#2 multiply::return#3 ] ] with [ zp ZP_WORD:86 [ multiply_results_compare::ma#0 ] ] Coalescing zero page register [ zp ZP_WORD:14 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 ] ] with [ zp ZP_WORD:40 [ init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 ] ] Coalescing zero page register [ zp ZP_WORD:14 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 ] ] with [ zp ZP_WORD:54 [ signed_multiply_results_compare::ms#0 ] ] Coalescing zero page register [ zp ZP_WORD:32 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 ] ] with [ zp ZP_WORD:64 [ signed_multiply_error::ms#0 ] ] -Coalescing zero page register [ zp ZP_WORD:32 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 signed_multiply_error::ms#0 ] ] with [ zp ZP_WORD:86 [ multiply_results_compare::ms#0 ] ] -Coalescing zero page register [ zp ZP_WORD:32 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 signed_multiply_error::ms#0 multiply_results_compare::ms#0 ] ] with [ zp ZP_WORD:94 [ multiply_error::ms#0 ] ] -Coalescing zero page register [ zp ZP_WORD:66 [ signed_multiply_error::ma#0 ] ] with [ zp ZP_WORD:96 [ multiply_error::ma#0 ] ] +Coalescing zero page register [ zp ZP_WORD:32 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 signed_multiply_error::ms#0 ] ] with [ zp ZP_WORD:82 [ multiply_results_compare::ms#0 ] ] +Coalescing zero page register [ zp ZP_WORD:32 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 signed_multiply_error::ms#0 multiply_results_compare::ms#0 ] ] with [ zp ZP_WORD:90 [ multiply_error::ms#0 ] ] +Coalescing zero page register [ zp ZP_WORD:66 [ signed_multiply_error::ma#0 ] ] with [ zp ZP_WORD:92 [ multiply_error::ma#0 ] ] Allocated (was zp ZP_WORD:14) zp ZP_WORD:8 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 signed_multiply_results_compare::ms#0 ] Allocated (was zp ZP_WORD:32) zp ZP_WORD:10 [ multiply_tables_compare::asm_sqr#2 multiply_tables_compare::asm_sqr#1 signed_multiply_error::ms#0 multiply_results_compare::ms#0 multiply_error::ms#0 ] Allocated (was zp ZP_WORD:66) zp ZP_WORD:12 [ signed_multiply_error::ma#0 multiply_error::ma#0 ] -Allocated (was zp ZP_BYTE:76) zp ZP_BYTE:14 [ signed_multiply::$13 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -8477,7 +8438,7 @@ main: { lda #5 sta BGCOL //SEG10 [5] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG11 [261] phi from main to print_cls [phi:main->print_cls] + //SEG11 [258] phi from main to print_cls [phi:main->print_cls] print_cls_from_main: jsr print_cls //SEG12 [6] phi from main to main::@1 [phi:main->main::@1] @@ -8486,7 +8447,7 @@ main: { //SEG13 main::@1 b1: //SEG14 [7] call init_multiply param-assignment [ ] ( main:2 [ ] ) - //SEG15 [232] phi from main::@1 to init_multiply [phi:main::@1->init_multiply] + //SEG15 [229] phi from main::@1 to init_multiply [phi:main::@1->init_multiply] init_multiply_from_b1: jsr init_multiply //SEG16 [8] phi from main::@1 to main::@2 [phi:main::@1->main::@2] @@ -8502,7 +8463,7 @@ main: { //SEG20 main::@3 b3: //SEG21 [11] call multiply_tables_compare param-assignment [ line_cursor#27 char_cursor#27 ] ( main:2 [ line_cursor#27 char_cursor#27 ] ) - //SEG22 [205] phi from main::@3 to multiply_tables_compare [phi:main::@3->multiply_tables_compare] + //SEG22 [202] phi from main::@3 to multiply_tables_compare [phi:main::@3->multiply_tables_compare] multiply_tables_compare_from_b3: jsr multiply_tables_compare //SEG23 [12] phi from main::@3 to main::@4 [phi:main::@3->main::@4] @@ -8511,7 +8472,7 @@ main: { //SEG24 main::@4 b4: //SEG25 [13] call multiply_results_compare param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] ) - //SEG26 [150] phi from main::@4 to multiply_results_compare [phi:main::@4->multiply_results_compare] + //SEG26 [147] phi from main::@4 to multiply_results_compare [phi:main::@4->multiply_results_compare] multiply_results_compare_from_b4: jsr multiply_results_compare //SEG27 [14] phi from main::@4 to main::@5 [phi:main::@4->main::@5] @@ -8579,10 +8540,10 @@ signed_multiply_results_compare: { ldy a //SEG51 [26] (signed byte) signed_multiply::b#0 ← (signed byte) signed_multiply_results_compare::b#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ) // (signed byte) signed_multiply::b#0 = (signed byte) signed_multiply_results_compare::b#2 // register copy zp ZP_BYTE:3 - //SEG52 [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ) + //SEG52 [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ) jsr signed_multiply - //SEG53 [28] (signed word) signed_multiply::return#2 ← (signed word) signed_multiply::return#0 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) - // (signed word) signed_multiply::return#2 = (signed word) signed_multiply::return#0 // register copy zp ZP_WORD:6 + //SEG53 [28] (signed word) signed_multiply::return#2 ← (signed word)(word) signed_multiply::m#4 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) + // (signed word) signed_multiply::return#2 = (signed word)(word) signed_multiply::m#4 // register copy zp ZP_WORD:6 jmp b9 //SEG54 signed_multiply_results_compare::@9 b9: @@ -8682,7 +8643,7 @@ print_ln: { jmp b1 //SEG87 print_ln::@1 b1: - //SEG88 [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG88 [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line_cursor clc adc #$28 @@ -8690,7 +8651,7 @@ print_ln: { bcc !+ inc line_cursor+1 !: - //SEG89 [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG89 [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1_lt_pbuz2_then_la1 lda line_cursor+1 cmp char_cursor+1 bcc b1_from_b1 @@ -8702,7 +8663,7 @@ print_ln: { jmp breturn //SEG90 print_ln::@return breturn: - //SEG91 [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 ] ) + //SEG91 [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 ] ) rts } //SEG92 print_str @@ -8716,7 +8677,7 @@ print_str: { jmp b1 //SEG96 print_str::@1 b1: - //SEG97 [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG97 [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' @@ -8724,21 +8685,21 @@ print_str: { jmp breturn //SEG98 print_str::@return breturn: - //SEG99 [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 ] ) + //SEG99 [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 ] ) rts //SEG100 print_str::@2 b2: - //SEG101 [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG101 [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (char_cursor),y - //SEG102 [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#14 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG102 [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#14 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: - //SEG103 [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG103 [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 @@ -8916,12 +8877,13 @@ print_sword: { jmp b1 //SEG169 print_sword::@1 b1: - //SEG170 [83] (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 [ char_cursor#119 print_word::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#0 ] ) -- vwuz1=_word_vwsz1 + //SEG170 [83] (word~) print_word::w#11 ← (word)(signed word) print_sword::w#4 [ char_cursor#119 print_word::w#11 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#11 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#11 ] ) + // (word~) print_word::w#11 = (word)(signed word) print_sword::w#4 // register copy zp ZP_WORD:6 //SEG171 [84] call print_word param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 ] ) //SEG172 [86] phi from print_sword::@1 to print_word [phi:print_sword::@1->print_word] print_word_from_b1: //SEG173 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#119 [phi:print_sword::@1->print_word#0] -- register_copy - //SEG174 [86] phi (word) print_word::w#5 = (word) print_word::w#0 [phi:print_sword::@1->print_word#1] -- register_copy + //SEG174 [86] phi (word) print_word::w#5 = (word~) print_word::w#11 [phi:print_sword::@1->print_word#1] -- register_copy jsr print_word jmp breturn //SEG175 print_sword::@return @@ -8932,10 +8894,10 @@ print_sword: { //SEG177 print_word print_word: { .label w = 6 - //SEG178 [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) -- vbuxx=_hi_vwuz1 + //SEG178 [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) -- vbuxx=_hi_vwuz1 lda w+1 tax - //SEG179 [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_word::w#5 ] ) + //SEG179 [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_word::w#5 ] ) //SEG180 [92] phi from print_word to print_byte [phi:print_word->print_byte] print_byte_from_print_word: //SEG181 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#123 [phi:print_word->print_byte#0] -- register_copy @@ -8944,10 +8906,10 @@ print_word: { jmp b1 //SEG183 print_word::@1 b1: - //SEG184 [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_byte::b#2 ] ) -- vbuxx=_lo_vwuz1 + //SEG184 [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_byte::b#2 ] ) -- vbuxx=_lo_vwuz1 lda w tax - //SEG185 [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + //SEG185 [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) //SEG186 [92] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] print_byte_from_b1: //SEG187 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#17 [phi:print_word::@1->print_byte#0] -- register_copy @@ -8956,21 +8918,21 @@ print_word: { jmp breturn //SEG189 print_word::@return breturn: - //SEG190 [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + //SEG190 [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) rts } //SEG191 print_byte print_byte: { - //SEG192 [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) -- vbuaa=vbuxx_ror_4 + //SEG192 [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) -- vbuaa=vbuxx_ror_4 txa lsr lsr lsr lsr - //SEG193 [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG193 [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda hextab,y - //SEG194 [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) + //SEG194 [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) //SEG195 [100] phi from print_byte to print_char [phi:print_byte->print_char] print_char_from_print_byte: //SEG196 [100] phi (byte*) char_cursor#75 = (byte*) char_cursor#124 [phi:print_byte->print_char#0] -- register_copy @@ -8979,13 +8941,13 @@ print_byte: { jmp b1 //SEG198 print_byte::@1 b1: - //SEG199 [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG199 [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG200 [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG200 [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda hextab,y - //SEG201 [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + //SEG201 [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) //SEG202 [100] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] print_char_from_b1: //SEG203 [100] phi (byte*) char_cursor#75 = (byte*) char_cursor#17 [phi:print_byte::@1->print_char#0] -- register_copy @@ -8994,16 +8956,16 @@ print_byte: { jmp breturn //SEG205 print_byte::@return breturn: - //SEG206 [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + //SEG206 [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) rts hextab: .text "0123456789abcdef" } //SEG207 print_char print_char: { - //SEG208 [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) -- _deref_pbuz1=vbuaa + //SEG208 [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (char_cursor),y - //SEG209 [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 + //SEG209 [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 @@ -9011,7 +8973,7 @@ print_char: { jmp breturn //SEG210 print_char::@return breturn: - //SEG211 [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) + //SEG211 [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) rts } //SEG212 print_sbyte @@ -9048,12 +9010,13 @@ print_sbyte: { jmp b1 //SEG225 print_sbyte::@1 b1: - //SEG226 [110] (byte) print_byte::b#0 ← ((byte)) (signed byte) print_sbyte::b#4 [ print_byte::b#0 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] ) -- vbuxx=_byte_vbsxx + //SEG226 [110] (byte~) print_byte::b#9 ← (byte)(signed byte) print_sbyte::b#4 [ print_byte::b#9 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] ) + // (byte~) print_byte::b#9 = (byte)(signed byte) print_sbyte::b#4 // register copy reg byte x //SEG227 [111] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] ) //SEG228 [92] phi from print_sbyte::@1 to print_byte [phi:print_sbyte::@1->print_byte] print_byte_from_b1: //SEG229 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#121 [phi:print_sbyte::@1->print_byte#0] -- register_copy - //SEG230 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#0 [phi:print_sbyte::@1->print_byte#1] -- register_copy + //SEG230 [92] phi (byte) print_byte::b#5 = (byte~) print_byte::b#9 [phi:print_sbyte::@1->print_byte#1] -- register_copy jsr print_byte jmp breturn //SEG231 print_sbyte::@return @@ -9063,19 +9026,18 @@ print_sbyte: { } //SEG233 signed_multiply signed_multiply: { - .label _13 = $e .label m = 6 - .label return = 6 .label b = 3 - //SEG234 [113] (byte) multiply::a#0 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ) -- vbuaa=_byte_vbsyy + .label return = 6 + //SEG234 [113] (byte~) multiply::a#4 ← (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ) -- vbuaa=vbuyy tya - //SEG235 [114] (byte) multiply::b#0 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ) -- vbuxx=_byte_vbsz1 + //SEG235 [114] (byte~) multiply::b#4 ← (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ) -- vbuxx=vbuz1 ldx b //SEG236 [115] call multiply param-assignment [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ) - //SEG237 [132] phi from signed_multiply to multiply [phi:signed_multiply->multiply] + //SEG237 [129] phi from signed_multiply to multiply [phi:signed_multiply->multiply] multiply_from_signed_multiply: - //SEG238 [132] phi (byte) multiply::b#2 = (byte) multiply::b#0 [phi:signed_multiply->multiply#0] -- register_copy - //SEG239 [132] phi (byte) multiply::a#2 = (byte) multiply::a#0 [phi:signed_multiply->multiply#1] -- register_copy + //SEG238 [129] phi (byte) multiply::b#2 = (byte~) multiply::b#4 [phi:signed_multiply->multiply#0] -- register_copy + //SEG239 [129] phi (byte) multiply::a#2 = (byte~) multiply::a#4 [phi:signed_multiply->multiply#1] -- register_copy jsr multiply //SEG240 [116] (word) multiply::return#2 ← (word) multiply::return#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ) // (word) multiply::return#2 = (word) multiply::return#0 // register copy zp ZP_WORD:6 @@ -9092,61 +9054,56 @@ signed_multiply: { b3: //SEG245 [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) -- vbuaa=_hi_vwuz1 lda m+1 - //SEG246 [120] (byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ) -- vbuxx=_byte_vbsz1 - ldx b - //SEG247 [121] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuaa=vbuaa_minus_vbuxx - stx $ff + //SEG246 [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuaa=vbuaa_minus_vbuz1 sec - sbc $ff - //SEG248 [122] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa + sbc b + //SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa sta m+1 - //SEG249 [123] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1] + //SEG248 [122] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1] b1_from_b3: b1_from_b6: - //SEG250 [123] phi (word) signed_multiply::m#5 = (word) signed_multiply::m#1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1#0] -- register_copy + //SEG249 [122] phi (word) signed_multiply::m#5 = (word) signed_multiply::m#1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1#0] -- register_copy jmp b1 - //SEG251 signed_multiply::@1 + //SEG250 signed_multiply::@1 b1: - //SEG252 [124] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) -- vbsz1_ge_0_then_la1 + //SEG251 [123] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) -- vbsz1_ge_0_then_la1 lda b cmp #0 bpl b2_from_b1 jmp b4 - //SEG253 signed_multiply::@4 + //SEG252 signed_multiply::@4 b4: - //SEG254 [125] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuaa=_hi_vwuz1 + //SEG253 [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuaa=_hi_vwuz1 lda m+1 - //SEG255 [126] (byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ) -- vbuz1=_byte_vbsyy - sty _13 - //SEG256 [127] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuaa=vbuaa_minus_vbuz1 + //SEG254 [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuaa=vbuaa_minus_vbuyy + sty $ff sec - sbc _13 - //SEG257 [128] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuaa + sbc $ff + //SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuaa sta m+1 - //SEG258 [129] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2] + //SEG256 [127] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2] b2_from_b1: b2_from_b4: - //SEG259 [129] phi (word) signed_multiply::m#4 = (word) signed_multiply::m#5 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2#0] -- register_copy + //SEG257 [127] phi (word) signed_multiply::m#4 = (word) signed_multiply::m#5 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2#0] -- register_copy jmp b2 - //SEG260 signed_multiply::@2 + //SEG258 signed_multiply::@2 b2: - //SEG261 [130] (signed word) signed_multiply::return#0 ← ((signed word)) (word) signed_multiply::m#4 [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) -- vwsz1=_sword_vwuz1 jmp breturn - //SEG262 signed_multiply::@return + //SEG259 signed_multiply::@return breturn: - //SEG263 [131] return [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) + //SEG260 [128] return [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) rts } -//SEG264 multiply +//SEG261 multiply multiply: { .const memA = $fe .const memB = $ff .label return = 6 - //SEG265 [133] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) -- _deref_pbuc1=vbuaa + //SEG262 [130] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) -- _deref_pbuc1=vbuaa sta memA - //SEG266 [134] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- _deref_pbuc1=vbuxx + //SEG263 [131] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- _deref_pbuc1=vbuxx stx memB - //SEG267 asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } + //SEG264 asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } lda memA sta sm1+1 sta sm3+1 @@ -9165,45 +9122,45 @@ multiply: { sm4: sbc mul_sqr2_hi,x sta memB - //SEG268 [136] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG265 [133] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda memA sta return lda memB sta return+1 jmp breturn - //SEG269 multiply::@return + //SEG266 multiply::@return breturn: - //SEG270 [137] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) + //SEG267 [134] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) rts } -//SEG271 slow_signed_multiply +//SEG268 slow_signed_multiply slow_signed_multiply: { .label m = 6 .label return = 6 .label a = 2 - //SEG272 [138] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_ge_0_then_la1 + //SEG269 [135] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_ge_0_then_la1 lda a cmp #0 bpl b1 - //SEG273 [139] phi from slow_signed_multiply to slow_signed_multiply::@2 [phi:slow_signed_multiply->slow_signed_multiply::@2] + //SEG270 [136] phi from slow_signed_multiply to slow_signed_multiply::@2 [phi:slow_signed_multiply->slow_signed_multiply::@2] b2_from_slow_signed_multiply: - //SEG274 [139] phi (signed byte) slow_signed_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#0] -- vbsyy=vbuc1 + //SEG271 [136] phi (signed byte) slow_signed_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#0] -- vbsyy=vbuc1 lda #0 tay - //SEG275 [139] phi (signed word) slow_signed_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#1] -- vwsz1=vbuc1 + //SEG272 [136] phi (signed word) slow_signed_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#1] -- vwsz1=vbuc1 lda #0 sta m lda #0 sta m+1 jmp b2 - //SEG276 [139] phi from slow_signed_multiply::@2 to slow_signed_multiply::@2 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2] + //SEG273 [136] phi from slow_signed_multiply::@2 to slow_signed_multiply::@2 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2] b2_from_b2: - //SEG277 [139] phi (signed byte) slow_signed_multiply::i#2 = (signed byte) slow_signed_multiply::i#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#0] -- register_copy - //SEG278 [139] phi (signed word) slow_signed_multiply::m#3 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#1] -- register_copy + //SEG274 [136] phi (signed byte) slow_signed_multiply::i#2 = (signed byte) slow_signed_multiply::i#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#0] -- register_copy + //SEG275 [136] phi (signed word) slow_signed_multiply::m#3 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#1] -- register_copy jmp b2 - //SEG279 slow_signed_multiply::@2 + //SEG276 slow_signed_multiply::@2 b2: - //SEG280 [140] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) -- vwsz1=vwsz1_minus_vbsxx + //SEG277 [137] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) -- vwsz1=vwsz1_minus_vbsxx txa sta $fe ora #$7f @@ -9218,56 +9175,56 @@ slow_signed_multiply: { lda m+1 sbc $ff sta m+1 - //SEG281 [141] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsyy=_dec_vbsyy + //SEG278 [138] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsyy=_dec_vbsyy dey - //SEG282 [142] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsyy_neq_vbsz1_then_la1 + //SEG279 [139] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsyy_neq_vbsz1_then_la1 cpy a bne b2_from_b2 - //SEG283 [143] phi from slow_signed_multiply::@2 slow_signed_multiply::@5 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3] + //SEG280 [140] phi from slow_signed_multiply::@2 slow_signed_multiply::@5 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3] b3_from_b2: b3_from_b5: - //SEG284 [143] phi (signed word) slow_signed_multiply::return#0 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3#0] -- register_copy + //SEG281 [140] phi (signed word) slow_signed_multiply::return#0 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3#0] -- register_copy jmp b3 - //SEG285 [143] phi from slow_signed_multiply::@1 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3] + //SEG282 [140] phi from slow_signed_multiply::@1 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3] b3_from_b1: - //SEG286 [143] phi (signed word) slow_signed_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3#0] -- vwsz1=vbuc1 + //SEG283 [140] phi (signed word) slow_signed_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3#0] -- vwsz1=vbuc1 lda #0 sta return lda #0 sta return+1 jmp b3 - //SEG287 slow_signed_multiply::@3 + //SEG284 slow_signed_multiply::@3 b3: jmp breturn - //SEG288 slow_signed_multiply::@return + //SEG285 slow_signed_multiply::@return breturn: - //SEG289 [144] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) + //SEG286 [141] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) rts - //SEG290 slow_signed_multiply::@1 + //SEG287 slow_signed_multiply::@1 b1: - //SEG291 [145] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_le_0_then_la1 + //SEG288 [142] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_le_0_then_la1 lda a cmp #1 bmi b3_from_b1 - //SEG292 [146] phi from slow_signed_multiply::@1 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5] + //SEG289 [143] phi from slow_signed_multiply::@1 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5] b5_from_b1: - //SEG293 [146] phi (signed byte) slow_signed_multiply::j#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#0] -- vbsyy=vbuc1 + //SEG290 [143] phi (signed byte) slow_signed_multiply::j#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#0] -- vbsyy=vbuc1 lda #0 tay - //SEG294 [146] phi (signed word) slow_signed_multiply::m#5 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#1] -- vwsz1=vbuc1 + //SEG291 [143] phi (signed word) slow_signed_multiply::m#5 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#1] -- vwsz1=vbuc1 lda #0 sta m lda #0 sta m+1 jmp b5 - //SEG295 [146] phi from slow_signed_multiply::@5 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5] + //SEG292 [143] phi from slow_signed_multiply::@5 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5] b5_from_b5: - //SEG296 [146] phi (signed byte) slow_signed_multiply::j#2 = (signed byte) slow_signed_multiply::j#1 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#0] -- register_copy - //SEG297 [146] phi (signed word) slow_signed_multiply::m#5 = (signed word) slow_signed_multiply::m#2 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#1] -- register_copy + //SEG293 [143] phi (signed byte) slow_signed_multiply::j#2 = (signed byte) slow_signed_multiply::j#1 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#0] -- register_copy + //SEG294 [143] phi (signed word) slow_signed_multiply::m#5 = (signed word) slow_signed_multiply::m#2 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#1] -- register_copy jmp b5 - //SEG298 slow_signed_multiply::@5 + //SEG295 slow_signed_multiply::@5 b5: - //SEG299 [147] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) -- vwsz1=vwsz1_plus_vbsxx + //SEG296 [144] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) -- vwsz1=vwsz1_plus_vbsxx txa sta $fe ora #$7f @@ -9282,77 +9239,77 @@ slow_signed_multiply: { lda m+1 adc $ff sta m+1 - //SEG300 [148] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsyy=_inc_vbsyy + //SEG297 [145] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsyy=_inc_vbsyy iny - //SEG301 [149] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsyy_neq_vbsz1_then_la1 + //SEG298 [146] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsyy_neq_vbsz1_then_la1 cpy a bne b5_from_b5 jmp b3_from_b5 } -//SEG302 multiply_results_compare +//SEG299 multiply_results_compare multiply_results_compare: { .label ms = $a .label ma = 6 .label b = 3 .label a = 2 - //SEG303 [151] phi from multiply_results_compare to multiply_results_compare::@1 [phi:multiply_results_compare->multiply_results_compare::@1] + //SEG300 [148] phi from multiply_results_compare to multiply_results_compare::@1 [phi:multiply_results_compare->multiply_results_compare::@1] b1_from_multiply_results_compare: - //SEG304 [151] phi (byte) multiply_results_compare::a#6 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare->multiply_results_compare::@1#0] -- vbuz1=vbuc1 + //SEG301 [148] phi (byte) multiply_results_compare::a#6 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare->multiply_results_compare::@1#0] -- vbuz1=vbuc1 lda #0 sta a jmp b1 - //SEG305 [151] phi from multiply_results_compare::@6 to multiply_results_compare::@1 [phi:multiply_results_compare::@6->multiply_results_compare::@1] + //SEG302 [148] phi from multiply_results_compare::@6 to multiply_results_compare::@1 [phi:multiply_results_compare::@6->multiply_results_compare::@1] b1_from_b6: - //SEG306 [151] phi (byte) multiply_results_compare::a#6 = (byte) multiply_results_compare::a#1 [phi:multiply_results_compare::@6->multiply_results_compare::@1#0] -- register_copy + //SEG303 [148] phi (byte) multiply_results_compare::a#6 = (byte) multiply_results_compare::a#1 [phi:multiply_results_compare::@6->multiply_results_compare::@1#0] -- register_copy jmp b1 - //SEG307 multiply_results_compare::@1 + //SEG304 multiply_results_compare::@1 b1: - //SEG308 [152] phi from multiply_results_compare::@1 to multiply_results_compare::@2 [phi:multiply_results_compare::@1->multiply_results_compare::@2] + //SEG305 [149] phi from multiply_results_compare::@1 to multiply_results_compare::@2 [phi:multiply_results_compare::@1->multiply_results_compare::@2] b2_from_b1: - //SEG309 [152] phi (byte) multiply_results_compare::b#2 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare::@1->multiply_results_compare::@2#0] -- vbuz1=vbuc1 + //SEG306 [149] phi (byte) multiply_results_compare::b#2 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare::@1->multiply_results_compare::@2#0] -- vbuz1=vbuc1 lda #0 sta b jmp b2 - //SEG310 [152] phi from multiply_results_compare::@3 to multiply_results_compare::@2 [phi:multiply_results_compare::@3->multiply_results_compare::@2] + //SEG307 [149] phi from multiply_results_compare::@3 to multiply_results_compare::@2 [phi:multiply_results_compare::@3->multiply_results_compare::@2] b2_from_b3: - //SEG311 [152] phi (byte) multiply_results_compare::b#2 = (byte) multiply_results_compare::b#1 [phi:multiply_results_compare::@3->multiply_results_compare::@2#0] -- register_copy + //SEG308 [149] phi (byte) multiply_results_compare::b#2 = (byte) multiply_results_compare::b#1 [phi:multiply_results_compare::@3->multiply_results_compare::@2#0] -- register_copy jmp b2 - //SEG312 multiply_results_compare::@2 + //SEG309 multiply_results_compare::@2 b2: - //SEG313 [153] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) + //SEG310 [150] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) // (byte) slow_multiply::a#0 = (byte) multiply_results_compare::a#6 // register copy zp ZP_BYTE:2 - //SEG314 [154] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuxx=vbuz1 + //SEG311 [151] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuxx=vbuz1 ldx b - //SEG315 [155] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + //SEG312 [152] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) jsr slow_multiply - //SEG316 [156] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) + //SEG313 [153] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) // (word) slow_multiply::return#2 = (word) slow_multiply::return#0 // register copy zp ZP_WORD:6 jmp b8 - //SEG317 multiply_results_compare::@8 + //SEG314 multiply_results_compare::@8 b8: - //SEG318 [157] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vwuz1=vwuz2 + //SEG315 [154] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vwuz1=vwuz2 lda slow_multiply.return sta ms lda slow_multiply.return+1 sta ms+1 - //SEG319 [158] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuaa=vbuz1 + //SEG316 [155] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuaa=vbuz1 lda a - //SEG320 [159] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuxx=vbuz1 + //SEG317 [156] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuxx=vbuz1 ldx b - //SEG321 [160] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - //SEG322 [132] phi from multiply_results_compare::@8 to multiply [phi:multiply_results_compare::@8->multiply] + //SEG318 [157] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + //SEG319 [129] phi from multiply_results_compare::@8 to multiply [phi:multiply_results_compare::@8->multiply] multiply_from_b8: - //SEG323 [132] phi (byte) multiply::b#2 = (byte) multiply::b#1 [phi:multiply_results_compare::@8->multiply#0] -- register_copy - //SEG324 [132] phi (byte) multiply::a#2 = (byte) multiply::a#1 [phi:multiply_results_compare::@8->multiply#1] -- register_copy + //SEG320 [129] phi (byte) multiply::b#2 = (byte) multiply::b#1 [phi:multiply_results_compare::@8->multiply#0] -- register_copy + //SEG321 [129] phi (byte) multiply::a#2 = (byte) multiply::a#1 [phi:multiply_results_compare::@8->multiply#1] -- register_copy jsr multiply - //SEG325 [161] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) + //SEG322 [158] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) // (word) multiply::return#3 = (word) multiply::return#0 // register copy zp ZP_WORD:6 jmp b9 - //SEG326 multiply_results_compare::@9 + //SEG323 multiply_results_compare::@9 b9: - //SEG327 [162] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) + //SEG324 [159] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) // (word) multiply_results_compare::ma#0 = (word) multiply::return#3 // register copy zp ZP_WORD:6 - //SEG328 [163] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- vwuz1_eq_vwuz2_then_la1 + //SEG325 [160] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- vwuz1_eq_vwuz2_then_la1 lda ms cmp ma bne !+ @@ -9361,233 +9318,233 @@ multiply_results_compare: { beq b3 !: jmp b4 - //SEG329 multiply_results_compare::@4 + //SEG326 multiply_results_compare::@4 b4: - //SEG330 [164] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- _deref_pbuc1=vbuc2 + //SEG327 [161] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- _deref_pbuc1=vbuc2 lda #2 sta BGCOL - //SEG331 [165] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) -- vbuxx=vbuz1 + //SEG328 [162] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) -- vbuxx=vbuz1 ldx a - //SEG332 [166] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) -- vbuz1=vbuz2 + //SEG329 [163] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) -- vbuz1=vbuz2 lda b sta multiply_error.b - //SEG333 [167] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) + //SEG330 [164] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) // (word) multiply_error::ms#0 = (word) multiply_results_compare::ms#0 // register copy zp ZP_WORD:10 - //SEG334 [168] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 + //SEG331 [165] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 lda ma sta multiply_error.ma lda ma+1 sta multiply_error.ma+1 - //SEG335 [169] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) - //SEG336 [179] phi from multiply_results_compare::@4 to multiply_error [phi:multiply_results_compare::@4->multiply_error] + //SEG332 [166] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG333 [176] phi from multiply_results_compare::@4 to multiply_error [phi:multiply_results_compare::@4->multiply_error] multiply_error_from_b4: jsr multiply_error jmp breturn - //SEG337 multiply_results_compare::@return + //SEG334 multiply_results_compare::@return breturn: - //SEG338 [170] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG335 [167] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) rts - //SEG339 multiply_results_compare::@3 + //SEG336 multiply_results_compare::@3 b3: - //SEG340 [171] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG337 [168] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1=_inc_vbuz1 inc b - //SEG341 [172] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1_neq_0_then_la1 + //SEG338 [169] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1_neq_0_then_la1 lda b bne b2_from_b3 jmp b6 - //SEG342 multiply_results_compare::@6 + //SEG339 multiply_results_compare::@6 b6: - //SEG343 [173] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG340 [170] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1=_inc_vbuz1 inc a - //SEG344 [174] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1_neq_0_then_la1 + //SEG341 [171] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1_neq_0_then_la1 lda a bne b1_from_b6 - //SEG345 [175] phi from multiply_results_compare::@6 to multiply_results_compare::@7 [phi:multiply_results_compare::@6->multiply_results_compare::@7] + //SEG342 [172] phi from multiply_results_compare::@6 to multiply_results_compare::@7 [phi:multiply_results_compare::@6->multiply_results_compare::@7] b7_from_b6: jmp b7 - //SEG346 multiply_results_compare::@7 + //SEG343 multiply_results_compare::@7 b7: - //SEG347 [176] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) - //SEG348 [51] phi from multiply_results_compare::@7 to print_str [phi:multiply_results_compare::@7->print_str] + //SEG344 [173] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) + //SEG345 [51] phi from multiply_results_compare::@7 to print_str [phi:multiply_results_compare::@7->print_str] print_str_from_b7: - //SEG349 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_results_compare::@7->print_str#0] -- register_copy - //SEG350 [51] phi (byte*) print_str::str#16 = (const string) multiply_results_compare::str [phi:multiply_results_compare::@7->print_str#1] -- pbuz1=pbuc1 + //SEG346 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_results_compare::@7->print_str#0] -- register_copy + //SEG347 [51] phi (byte*) print_str::str#16 = (const string) multiply_results_compare::str [phi:multiply_results_compare::@7->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str - //SEG351 [177] phi from multiply_results_compare::@7 to multiply_results_compare::@11 [phi:multiply_results_compare::@7->multiply_results_compare::@11] + //SEG348 [174] phi from multiply_results_compare::@7 to multiply_results_compare::@11 [phi:multiply_results_compare::@7->multiply_results_compare::@11] b11_from_b7: jmp b11 - //SEG352 multiply_results_compare::@11 + //SEG349 multiply_results_compare::@11 b11: - //SEG353 [178] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) - //SEG354 [46] phi from multiply_results_compare::@11 to print_ln [phi:multiply_results_compare::@11->print_ln] + //SEG350 [175] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG351 [46] phi from multiply_results_compare::@11 to print_ln [phi:multiply_results_compare::@11->print_ln] print_ln_from_b11: - //SEG355 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_results_compare::@11->print_ln#0] -- register_copy - //SEG356 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_results_compare::@11->print_ln#1] -- register_copy + //SEG352 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_results_compare::@11->print_ln#0] -- register_copy + //SEG353 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_results_compare::@11->print_ln#1] -- register_copy jsr print_ln jmp breturn str: .text "multiply results match!@" } -//SEG357 multiply_error +//SEG354 multiply_error multiply_error: { .label b = 2 .label ms = $a .label ma = $c - //SEG358 [180] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG359 [51] phi from multiply_error to print_str [phi:multiply_error->print_str] + //SEG355 [177] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG356 [51] phi from multiply_error to print_str [phi:multiply_error->print_str] print_str_from_multiply_error: - //SEG360 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_error->print_str#0] -- register_copy - //SEG361 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str [phi:multiply_error->print_str#1] -- pbuz1=pbuc1 + //SEG357 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_error->print_str#0] -- register_copy + //SEG358 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str [phi:multiply_error->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str jmp b1 - //SEG362 multiply_error::@1 + //SEG359 multiply_error::@1 b1: - //SEG363 [181] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG360 [178] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) // (byte) print_byte::b#3 = (byte) multiply_error::a#0 // register copy reg byte x - //SEG364 [182] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG365 [92] phi from multiply_error::@1 to print_byte [phi:multiply_error::@1->print_byte] + //SEG361 [179] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG362 [92] phi from multiply_error::@1 to print_byte [phi:multiply_error::@1->print_byte] print_byte_from_b1: - //SEG366 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@1->print_byte#0] -- register_copy - //SEG367 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#3 [phi:multiply_error::@1->print_byte#1] -- register_copy + //SEG363 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@1->print_byte#0] -- register_copy + //SEG364 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#3 [phi:multiply_error::@1->print_byte#1] -- register_copy jsr print_byte - //SEG368 [183] phi from multiply_error::@1 to multiply_error::@2 [phi:multiply_error::@1->multiply_error::@2] + //SEG365 [180] phi from multiply_error::@1 to multiply_error::@2 [phi:multiply_error::@1->multiply_error::@2] b2_from_b1: jmp b2 - //SEG369 multiply_error::@2 + //SEG366 multiply_error::@2 b2: - //SEG370 [184] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG371 [51] phi from multiply_error::@2 to print_str [phi:multiply_error::@2->print_str] + //SEG367 [181] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG368 [51] phi from multiply_error::@2 to print_str [phi:multiply_error::@2->print_str] print_str_from_b2: - //SEG372 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@2->print_str#0] -- register_copy - //SEG373 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str1 [phi:multiply_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG369 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@2->print_str#0] -- register_copy + //SEG370 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str1 [phi:multiply_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b3 - //SEG374 multiply_error::@3 + //SEG371 multiply_error::@3 b3: - //SEG375 [185] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vbuxx=vbuz1 + //SEG372 [182] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vbuxx=vbuz1 ldx b - //SEG376 [186] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG377 [92] phi from multiply_error::@3 to print_byte [phi:multiply_error::@3->print_byte] + //SEG373 [183] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG374 [92] phi from multiply_error::@3 to print_byte [phi:multiply_error::@3->print_byte] print_byte_from_b3: - //SEG378 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@3->print_byte#0] -- register_copy - //SEG379 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#4 [phi:multiply_error::@3->print_byte#1] -- register_copy + //SEG375 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@3->print_byte#0] -- register_copy + //SEG376 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#4 [phi:multiply_error::@3->print_byte#1] -- register_copy jsr print_byte - //SEG380 [187] phi from multiply_error::@3 to multiply_error::@4 [phi:multiply_error::@3->multiply_error::@4] + //SEG377 [184] phi from multiply_error::@3 to multiply_error::@4 [phi:multiply_error::@3->multiply_error::@4] b4_from_b3: jmp b4 - //SEG381 multiply_error::@4 + //SEG378 multiply_error::@4 b4: - //SEG382 [188] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG383 [51] phi from multiply_error::@4 to print_str [phi:multiply_error::@4->print_str] + //SEG379 [185] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG380 [51] phi from multiply_error::@4 to print_str [phi:multiply_error::@4->print_str] print_str_from_b4: - //SEG384 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@4->print_str#0] -- register_copy - //SEG385 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str2 [phi:multiply_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG381 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@4->print_str#0] -- register_copy + //SEG382 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str2 [phi:multiply_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str jmp b5 - //SEG386 multiply_error::@5 + //SEG383 multiply_error::@5 b5: - //SEG387 [189] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 + //SEG384 [186] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 lda ms sta print_word.w lda ms+1 sta print_word.w+1 - //SEG388 [190] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) - //SEG389 [86] phi from multiply_error::@5 to print_word [phi:multiply_error::@5->print_word] + //SEG385 [187] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) + //SEG386 [86] phi from multiply_error::@5 to print_word [phi:multiply_error::@5->print_word] print_word_from_b5: - //SEG390 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@5->print_word#0] -- register_copy - //SEG391 [86] phi (word) print_word::w#5 = (word) print_word::w#3 [phi:multiply_error::@5->print_word#1] -- register_copy + //SEG387 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@5->print_word#0] -- register_copy + //SEG388 [86] phi (word) print_word::w#5 = (word) print_word::w#3 [phi:multiply_error::@5->print_word#1] -- register_copy jsr print_word - //SEG392 [191] phi from multiply_error::@5 to multiply_error::@6 [phi:multiply_error::@5->multiply_error::@6] + //SEG389 [188] phi from multiply_error::@5 to multiply_error::@6 [phi:multiply_error::@5->multiply_error::@6] b6_from_b5: jmp b6 - //SEG393 multiply_error::@6 + //SEG390 multiply_error::@6 b6: - //SEG394 [192] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) - //SEG395 [51] phi from multiply_error::@6 to print_str [phi:multiply_error::@6->print_str] + //SEG391 [189] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) + //SEG392 [51] phi from multiply_error::@6 to print_str [phi:multiply_error::@6->print_str] print_str_from_b6: - //SEG396 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@6->print_str#0] -- register_copy - //SEG397 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str3 [phi:multiply_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG393 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@6->print_str#0] -- register_copy + //SEG394 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str3 [phi:multiply_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str jmp b7 - //SEG398 multiply_error::@7 + //SEG395 multiply_error::@7 b7: - //SEG399 [193] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) -- vwuz1=vwuz2 + //SEG396 [190] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) -- vwuz1=vwuz2 lda ma sta print_word.w lda ma+1 sta print_word.w+1 - //SEG400 [194] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 ] ) - //SEG401 [86] phi from multiply_error::@7 to print_word [phi:multiply_error::@7->print_word] + //SEG397 [191] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 ] ) + //SEG398 [86] phi from multiply_error::@7 to print_word [phi:multiply_error::@7->print_word] print_word_from_b7: - //SEG402 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@7->print_word#0] -- register_copy - //SEG403 [86] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:multiply_error::@7->print_word#1] -- register_copy + //SEG399 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@7->print_word#0] -- register_copy + //SEG400 [86] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:multiply_error::@7->print_word#1] -- register_copy jsr print_word - //SEG404 [195] phi from multiply_error::@7 to multiply_error::@8 [phi:multiply_error::@7->multiply_error::@8] + //SEG401 [192] phi from multiply_error::@7 to multiply_error::@8 [phi:multiply_error::@7->multiply_error::@8] b8_from_b7: jmp b8 - //SEG405 multiply_error::@8 + //SEG402 multiply_error::@8 b8: - //SEG406 [196] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) - //SEG407 [46] phi from multiply_error::@8 to print_ln [phi:multiply_error::@8->print_ln] + //SEG403 [193] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) + //SEG404 [46] phi from multiply_error::@8 to print_ln [phi:multiply_error::@8->print_ln] print_ln_from_b8: - //SEG408 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#17 [phi:multiply_error::@8->print_ln#0] -- register_copy - //SEG409 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_error::@8->print_ln#1] -- register_copy + //SEG405 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#17 [phi:multiply_error::@8->print_ln#0] -- register_copy + //SEG406 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_error::@8->print_ln#1] -- register_copy jsr print_ln jmp breturn - //SEG410 multiply_error::@return + //SEG407 multiply_error::@return breturn: - //SEG411 [197] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) + //SEG408 [194] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) rts str: .text "multiply mismatch @" str1: .text "*@" str2: .text " slow:@" str3: .text " / fast asm:@" } -//SEG412 slow_multiply +//SEG409 slow_multiply slow_multiply: { .label return = 6 .label m = 6 .label a = 2 - //SEG413 [198] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuz1_eq_0_then_la1 + //SEG410 [195] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuz1_eq_0_then_la1 lda a beq b1_from_slow_multiply - //SEG414 [199] phi from slow_multiply to slow_multiply::@2 [phi:slow_multiply->slow_multiply::@2] + //SEG411 [196] phi from slow_multiply to slow_multiply::@2 [phi:slow_multiply->slow_multiply::@2] b2_from_slow_multiply: - //SEG415 [199] phi (byte) slow_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#0] -- vbuyy=vbuc1 + //SEG412 [196] phi (byte) slow_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#0] -- vbuyy=vbuc1 ldy #0 - //SEG416 [199] phi (word) slow_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#1] -- vwuz1=vbuc1 + //SEG413 [196] phi (word) slow_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#1] -- vwuz1=vbuc1 lda #0 sta m lda #0 sta m+1 jmp b2 - //SEG417 [199] phi from slow_multiply::@2 to slow_multiply::@2 [phi:slow_multiply::@2->slow_multiply::@2] + //SEG414 [196] phi from slow_multiply::@2 to slow_multiply::@2 [phi:slow_multiply::@2->slow_multiply::@2] b2_from_b2: - //SEG418 [199] phi (byte) slow_multiply::i#2 = (byte) slow_multiply::i#1 [phi:slow_multiply::@2->slow_multiply::@2#0] -- register_copy - //SEG419 [199] phi (word) slow_multiply::m#3 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@2#1] -- register_copy + //SEG415 [196] phi (byte) slow_multiply::i#2 = (byte) slow_multiply::i#1 [phi:slow_multiply::@2->slow_multiply::@2#0] -- register_copy + //SEG416 [196] phi (word) slow_multiply::m#3 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@2#1] -- register_copy jmp b2 - //SEG420 slow_multiply::@2 + //SEG417 slow_multiply::@2 b2: - //SEG421 [200] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) -- vwuz1=vwuz1_plus_vbuxx + //SEG418 [197] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) -- vwuz1=vwuz1_plus_vbuxx txa clc adc m @@ -9595,150 +9552,150 @@ slow_multiply: { lda #0 adc m+1 sta m+1 - //SEG422 [201] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuyy=_inc_vbuyy + //SEG419 [198] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG423 [202] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuyy_neq_vbuz1_then_la1 + //SEG420 [199] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuyy_neq_vbuz1_then_la1 cpy a bne b2_from_b2 - //SEG424 [203] phi from slow_multiply::@2 to slow_multiply::@1 [phi:slow_multiply::@2->slow_multiply::@1] + //SEG421 [200] phi from slow_multiply::@2 to slow_multiply::@1 [phi:slow_multiply::@2->slow_multiply::@1] b1_from_b2: - //SEG425 [203] phi (word) slow_multiply::return#0 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@1#0] -- register_copy + //SEG422 [200] phi (word) slow_multiply::return#0 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@1#0] -- register_copy jmp b1 - //SEG426 [203] phi from slow_multiply to slow_multiply::@1 [phi:slow_multiply->slow_multiply::@1] + //SEG423 [200] phi from slow_multiply to slow_multiply::@1 [phi:slow_multiply->slow_multiply::@1] b1_from_slow_multiply: - //SEG427 [203] phi (word) slow_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@1#0] -- vwuz1=vbuc1 + //SEG424 [200] phi (word) slow_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@1#0] -- vwuz1=vbuc1 lda #0 sta return lda #0 sta return+1 jmp b1 - //SEG428 slow_multiply::@1 + //SEG425 slow_multiply::@1 b1: jmp breturn - //SEG429 slow_multiply::@return + //SEG426 slow_multiply::@return breturn: - //SEG430 [204] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + //SEG427 [201] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) rts } -//SEG431 multiply_tables_compare +//SEG428 multiply_tables_compare multiply_tables_compare: { .label asm_sqr = $a .label kc_sqr = 4 - //SEG432 [206] phi from multiply_tables_compare to multiply_tables_compare::@1 [phi:multiply_tables_compare->multiply_tables_compare::@1] + //SEG429 [203] phi from multiply_tables_compare to multiply_tables_compare::@1 [phi:multiply_tables_compare->multiply_tables_compare::@1] b1_from_multiply_tables_compare: - //SEG433 [206] phi (byte*) multiply_tables_compare::asm_sqr#2 = (const byte[512]) asm_mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#0] -- pbuz1=pbuc1 + //SEG430 [203] phi (byte*) multiply_tables_compare::asm_sqr#2 = (const byte[512]) asm_mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#0] -- pbuz1=pbuc1 lda #asm_mul_sqr1_lo sta asm_sqr+1 - //SEG434 [206] phi (byte*) multiply_tables_compare::kc_sqr#2 = (const byte[512]) mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#1] -- pbuz1=pbuc1 + //SEG431 [203] phi (byte*) multiply_tables_compare::kc_sqr#2 = (const byte[512]) mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#1] -- pbuz1=pbuc1 lda #mul_sqr1_lo sta kc_sqr+1 jmp b1 - //SEG435 [206] phi from multiply_tables_compare::@2 to multiply_tables_compare::@1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1] + //SEG432 [203] phi from multiply_tables_compare::@2 to multiply_tables_compare::@1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1] b1_from_b2: - //SEG436 [206] phi (byte*) multiply_tables_compare::asm_sqr#2 = (byte*) multiply_tables_compare::asm_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#0] -- register_copy - //SEG437 [206] phi (byte*) multiply_tables_compare::kc_sqr#2 = (byte*) multiply_tables_compare::kc_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#1] -- register_copy + //SEG433 [203] phi (byte*) multiply_tables_compare::asm_sqr#2 = (byte*) multiply_tables_compare::asm_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#0] -- register_copy + //SEG434 [203] phi (byte*) multiply_tables_compare::kc_sqr#2 = (byte*) multiply_tables_compare::kc_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#1] -- register_copy jmp b1 - //SEG438 multiply_tables_compare::@1 + //SEG435 multiply_tables_compare::@1 b1: - //SEG439 [207] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuz1_eq__deref_pbuz2_then_la1 + //SEG436 [204] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuz1_eq__deref_pbuz2_then_la1 ldy #0 lda (kc_sqr),y ldy #0 cmp (asm_sqr),y beq b2 jmp b3 - //SEG440 multiply_tables_compare::@3 + //SEG437 multiply_tables_compare::@3 b3: - //SEG441 [208] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuc1=vbuc2 + //SEG438 [205] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuc1=vbuc2 lda #2 sta BGCOL - //SEG442 [209] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - //SEG443 [51] phi from multiply_tables_compare::@3 to print_str [phi:multiply_tables_compare::@3->print_str] + //SEG439 [206] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + //SEG440 [51] phi from multiply_tables_compare::@3 to print_str [phi:multiply_tables_compare::@3->print_str] print_str_from_b3: - //SEG444 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@3->print_str#0] -- pbuz1=pbuc1 + //SEG441 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@3->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta char_cursor lda #>$400 sta char_cursor+1 - //SEG445 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str [phi:multiply_tables_compare::@3->print_str#1] -- pbuz1=pbuc1 + //SEG442 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str [phi:multiply_tables_compare::@3->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str jmp b6 - //SEG446 multiply_tables_compare::@6 + //SEG443 multiply_tables_compare::@6 b6: - //SEG447 [210] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) -- vwuz1=_word_pbuz2 + //SEG444 [207] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) -- vwuz1=_word_pbuz2 lda asm_sqr sta print_word.w lda asm_sqr+1 sta print_word.w+1 - //SEG448 [211] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) - //SEG449 [86] phi from multiply_tables_compare::@6 to print_word [phi:multiply_tables_compare::@6->print_word] + //SEG445 [208] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) + //SEG446 [86] phi from multiply_tables_compare::@6 to print_word [phi:multiply_tables_compare::@6->print_word] print_word_from_b6: - //SEG450 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@6->print_word#0] -- register_copy - //SEG451 [86] phi (word) print_word::w#5 = (word) print_word::w#1 [phi:multiply_tables_compare::@6->print_word#1] -- register_copy + //SEG447 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@6->print_word#0] -- register_copy + //SEG448 [86] phi (word) print_word::w#5 = (word) print_word::w#1 [phi:multiply_tables_compare::@6->print_word#1] -- register_copy jsr print_word - //SEG452 [212] phi from multiply_tables_compare::@6 to multiply_tables_compare::@7 [phi:multiply_tables_compare::@6->multiply_tables_compare::@7] + //SEG449 [209] phi from multiply_tables_compare::@6 to multiply_tables_compare::@7 [phi:multiply_tables_compare::@6->multiply_tables_compare::@7] b7_from_b6: jmp b7 - //SEG453 multiply_tables_compare::@7 + //SEG450 multiply_tables_compare::@7 b7: - //SEG454 [213] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) - //SEG455 [51] phi from multiply_tables_compare::@7 to print_str [phi:multiply_tables_compare::@7->print_str] + //SEG451 [210] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) + //SEG452 [51] phi from multiply_tables_compare::@7 to print_str [phi:multiply_tables_compare::@7->print_str] print_str_from_b7: - //SEG456 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@7->print_str#0] -- register_copy - //SEG457 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str1 [phi:multiply_tables_compare::@7->print_str#1] -- pbuz1=pbuc1 + //SEG453 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@7->print_str#0] -- register_copy + //SEG454 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str1 [phi:multiply_tables_compare::@7->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str jmp b8 - //SEG458 multiply_tables_compare::@8 + //SEG455 multiply_tables_compare::@8 b8: - //SEG459 [214] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) -- vwuz1=_word_pbuz2 + //SEG456 [211] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) -- vwuz1=_word_pbuz2 lda kc_sqr sta print_word.w lda kc_sqr+1 sta print_word.w+1 - //SEG460 [215] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) - //SEG461 [86] phi from multiply_tables_compare::@8 to print_word [phi:multiply_tables_compare::@8->print_word] + //SEG457 [212] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) + //SEG458 [86] phi from multiply_tables_compare::@8 to print_word [phi:multiply_tables_compare::@8->print_word] print_word_from_b8: - //SEG462 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@8->print_word#0] -- register_copy - //SEG463 [86] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:multiply_tables_compare::@8->print_word#1] -- register_copy + //SEG459 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@8->print_word#0] -- register_copy + //SEG460 [86] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:multiply_tables_compare::@8->print_word#1] -- register_copy jsr print_word - //SEG464 [216] phi from multiply_tables_compare::@8 to multiply_tables_compare::@return [phi:multiply_tables_compare::@8->multiply_tables_compare::@return] + //SEG461 [213] phi from multiply_tables_compare::@8 to multiply_tables_compare::@return [phi:multiply_tables_compare::@8->multiply_tables_compare::@return] breturn_from_b8: - //SEG465 [216] phi (byte*) line_cursor#27 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#0] -- pbuz1=pbuc1 + //SEG462 [213] phi (byte*) line_cursor#27 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#0] -- pbuz1=pbuc1 lda #<$400 sta line_cursor lda #>$400 sta line_cursor+1 - //SEG466 [216] phi (byte*) char_cursor#27 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#1] -- register_copy + //SEG463 [213] phi (byte*) char_cursor#27 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#1] -- register_copy jmp breturn - //SEG467 multiply_tables_compare::@return + //SEG464 multiply_tables_compare::@return breturn: - //SEG468 [217] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + //SEG465 [214] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) rts - //SEG469 multiply_tables_compare::@2 + //SEG466 multiply_tables_compare::@2 b2: - //SEG470 [218] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG467 [215] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 inc asm_sqr bne !+ inc asm_sqr+1 !: - //SEG471 [219] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG468 [216] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 inc kc_sqr bne !+ inc kc_sqr+1 !: - //SEG472 [220] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1_lt_pbuc1_then_la1 + //SEG469 [217] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1_lt_pbuc1_then_la1 lda kc_sqr+1 cmp #>mul_sqr1_lo+$200*4 bcc b1_from_b2 @@ -9747,58 +9704,58 @@ multiply_tables_compare: { cmp #multiply_tables_compare::@5] + //SEG470 [218] phi from multiply_tables_compare::@2 to multiply_tables_compare::@5 [phi:multiply_tables_compare::@2->multiply_tables_compare::@5] b5_from_b2: jmp b5 - //SEG474 multiply_tables_compare::@5 + //SEG471 multiply_tables_compare::@5 b5: - //SEG475 [222] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) - //SEG476 [51] phi from multiply_tables_compare::@5 to print_str [phi:multiply_tables_compare::@5->print_str] + //SEG472 [219] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) + //SEG473 [51] phi from multiply_tables_compare::@5 to print_str [phi:multiply_tables_compare::@5->print_str] print_str_from_b5: - //SEG477 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@5->print_str#0] -- pbuz1=pbuc1 + //SEG474 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@5->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta char_cursor lda #>$400 sta char_cursor+1 - //SEG478 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str2 [phi:multiply_tables_compare::@5->print_str#1] -- pbuz1=pbuc1 + //SEG475 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str2 [phi:multiply_tables_compare::@5->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG479 [223] phi from multiply_tables_compare::@5 to multiply_tables_compare::@10 [phi:multiply_tables_compare::@5->multiply_tables_compare::@10] + //SEG476 [220] phi from multiply_tables_compare::@5 to multiply_tables_compare::@10 [phi:multiply_tables_compare::@5->multiply_tables_compare::@10] b10_from_b5: jmp b10 - //SEG480 multiply_tables_compare::@10 + //SEG477 multiply_tables_compare::@10 b10: - //SEG481 [224] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) - //SEG482 [46] phi from multiply_tables_compare::@10 to print_ln [phi:multiply_tables_compare::@10->print_ln] + //SEG478 [221] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) + //SEG479 [46] phi from multiply_tables_compare::@10 to print_ln [phi:multiply_tables_compare::@10->print_ln] print_ln_from_b10: - //SEG483 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@10->print_ln#0] -- register_copy - //SEG484 [46] phi (byte*) line_cursor#40 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@10->print_ln#1] -- pbuz1=pbuc1 + //SEG480 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@10->print_ln#0] -- register_copy + //SEG481 [46] phi (byte*) line_cursor#40 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@10->print_ln#1] -- pbuz1=pbuc1 lda #<$400 sta line_cursor lda #>$400 sta line_cursor+1 jsr print_ln - //SEG485 [225] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) -- pbuz1=pbuz2 + //SEG482 [222] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) -- pbuz1=pbuz2 lda line_cursor sta char_cursor lda line_cursor+1 sta char_cursor+1 - //SEG486 [216] phi from multiply_tables_compare::@10 to multiply_tables_compare::@return [phi:multiply_tables_compare::@10->multiply_tables_compare::@return] + //SEG483 [213] phi from multiply_tables_compare::@10 to multiply_tables_compare::@return [phi:multiply_tables_compare::@10->multiply_tables_compare::@return] breturn_from_b10: - //SEG487 [216] phi (byte*) line_cursor#27 = (byte*) line_cursor#1 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#0] -- register_copy - //SEG488 [216] phi (byte*) char_cursor#27 = (byte*~) char_cursor#197 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#1] -- register_copy + //SEG484 [213] phi (byte*) line_cursor#27 = (byte*) line_cursor#1 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#0] -- register_copy + //SEG485 [213] phi (byte*) char_cursor#27 = (byte*~) char_cursor#197 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#1] -- register_copy jmp breturn str: .text "multiply table mismatch at @" str1: .text " / @" str2: .text "multiply tables match!@" } -//SEG489 init_multiply_asm +//SEG486 init_multiply_asm init_multiply_asm: { .const mem = $ff - //SEG490 asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } + //SEG487 asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } ldx #0 txa .byte $c9 @@ -9837,25 +9794,25 @@ init_multiply_asm: { dey inx bne !- - //SEG491 [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG488 [224] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr1_lo sta mem - //SEG492 [228] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG489 [225] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr1_hi sta mem - //SEG493 [229] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG490 [226] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr2_lo sta mem - //SEG494 [230] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG491 [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr2_hi sta mem jmp breturn - //SEG495 init_multiply_asm::@return + //SEG492 init_multiply_asm::@return breturn: - //SEG496 [231] return [ ] ( main:2::init_multiply_asm:9 [ ] ) + //SEG493 [228] return [ ] ( main:2::init_multiply_asm:9 [ ] ) rts } -//SEG497 init_multiply +//SEG494 init_multiply init_multiply: { .label sqr1_hi = 6 .label sqr = 8 @@ -9864,81 +9821,81 @@ init_multiply: { .label sqr2_hi = 6 .label sqr2_lo = 4 .label dir = 2 - //SEG498 [233] phi from init_multiply to init_multiply::@1 [phi:init_multiply->init_multiply::@1] + //SEG495 [230] phi from init_multiply to init_multiply::@1 [phi:init_multiply->init_multiply::@1] b1_from_init_multiply: - //SEG499 [233] phi (byte) init_multiply::x_2#3 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#0] -- vbuz1=vbuc1 + //SEG496 [230] phi (byte) init_multiply::x_2#3 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#0] -- vbuz1=vbuc1 lda #0 sta x_2 - //SEG500 [233] phi (byte*) init_multiply::sqr1_hi#2 = (const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#1] -- pbuz1=pbuc1 + //SEG497 [230] phi (byte*) init_multiply::sqr1_hi#2 = (const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#1] -- pbuz1=pbuc1 lda #mul_sqr1_hi+1 sta sqr1_hi+1 - //SEG501 [233] phi (byte*) init_multiply::sqr1_lo#2 = (const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#2] -- pbuz1=pbuc1 + //SEG498 [230] phi (byte*) init_multiply::sqr1_lo#2 = (const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#2] -- pbuz1=pbuc1 lda #mul_sqr1_lo+1 sta sqr1_lo+1 - //SEG502 [233] phi (word) init_multiply::sqr#4 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#3] -- vwuz1=vbuc1 + //SEG499 [230] phi (word) init_multiply::sqr#4 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#3] -- vwuz1=vbuc1 lda #0 sta sqr lda #0 sta sqr+1 - //SEG503 [233] phi (byte) init_multiply::c#2 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#4] -- vbuxx=vbuc1 + //SEG500 [230] phi (byte) init_multiply::c#2 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#4] -- vbuxx=vbuc1 ldx #0 jmp b1 - //SEG504 [233] phi from init_multiply::@2 to init_multiply::@1 [phi:init_multiply::@2->init_multiply::@1] + //SEG501 [230] phi from init_multiply::@2 to init_multiply::@1 [phi:init_multiply::@2->init_multiply::@1] b1_from_b2: - //SEG505 [233] phi (byte) init_multiply::x_2#3 = (byte) init_multiply::x_2#2 [phi:init_multiply::@2->init_multiply::@1#0] -- register_copy - //SEG506 [233] phi (byte*) init_multiply::sqr1_hi#2 = (byte*) init_multiply::sqr1_hi#1 [phi:init_multiply::@2->init_multiply::@1#1] -- register_copy - //SEG507 [233] phi (byte*) init_multiply::sqr1_lo#2 = (byte*) init_multiply::sqr1_lo#1 [phi:init_multiply::@2->init_multiply::@1#2] -- register_copy - //SEG508 [233] phi (word) init_multiply::sqr#4 = (word) init_multiply::sqr#1 [phi:init_multiply::@2->init_multiply::@1#3] -- register_copy - //SEG509 [233] phi (byte) init_multiply::c#2 = (byte) init_multiply::c#1 [phi:init_multiply::@2->init_multiply::@1#4] -- register_copy + //SEG502 [230] phi (byte) init_multiply::x_2#3 = (byte) init_multiply::x_2#2 [phi:init_multiply::@2->init_multiply::@1#0] -- register_copy + //SEG503 [230] phi (byte*) init_multiply::sqr1_hi#2 = (byte*) init_multiply::sqr1_hi#1 [phi:init_multiply::@2->init_multiply::@1#1] -- register_copy + //SEG504 [230] phi (byte*) init_multiply::sqr1_lo#2 = (byte*) init_multiply::sqr1_lo#1 [phi:init_multiply::@2->init_multiply::@1#2] -- register_copy + //SEG505 [230] phi (word) init_multiply::sqr#4 = (word) init_multiply::sqr#1 [phi:init_multiply::@2->init_multiply::@1#3] -- register_copy + //SEG506 [230] phi (byte) init_multiply::c#2 = (byte) init_multiply::c#1 [phi:init_multiply::@2->init_multiply::@1#4] -- register_copy jmp b1 - //SEG510 init_multiply::@1 + //SEG507 init_multiply::@1 b1: - //SEG511 [234] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuxx=_inc_vbuxx + //SEG508 [231] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG512 [235] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG509 [232] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #1 - //SEG513 [236] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuaa_neq_0_then_la1 + //SEG510 [233] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b2_from_b1 jmp b5 - //SEG514 init_multiply::@5 + //SEG511 init_multiply::@5 b5: - //SEG515 [237] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG512 [234] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) -- vbuz1=_inc_vbuz1 inc x_2 - //SEG516 [238] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) -- vwuz1=_inc_vwuz1 + //SEG513 [235] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) -- vwuz1=_inc_vwuz1 inc sqr bne !+ inc sqr+1 !: - //SEG517 [239] phi from init_multiply::@1 init_multiply::@5 to init_multiply::@2 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2] + //SEG514 [236] phi from init_multiply::@1 init_multiply::@5 to init_multiply::@2 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2] b2_from_b1: b2_from_b5: - //SEG518 [239] phi (byte) init_multiply::x_2#2 = (byte) init_multiply::x_2#3 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#0] -- register_copy - //SEG519 [239] phi (word) init_multiply::sqr#3 = (word) init_multiply::sqr#4 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#1] -- register_copy + //SEG515 [236] phi (byte) init_multiply::x_2#2 = (byte) init_multiply::x_2#3 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#0] -- register_copy + //SEG516 [236] phi (word) init_multiply::sqr#3 = (word) init_multiply::sqr#4 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#1] -- register_copy jmp b2 - //SEG520 init_multiply::@2 + //SEG517 init_multiply::@2 b2: - //SEG521 [240] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) -- vbuaa=_lo_vwuz1 + //SEG518 [237] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) -- vbuaa=_lo_vwuz1 lda sqr - //SEG522 [241] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuaa + //SEG519 [238] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (sqr1_lo),y - //SEG523 [242] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) -- vbuaa=_hi_vwuz1 + //SEG520 [239] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) -- vbuaa=_hi_vwuz1 lda sqr+1 - //SEG524 [243] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuaa + //SEG521 [240] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (sqr1_hi),y - //SEG525 [244] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- pbuz1=_inc_pbuz1 + //SEG522 [241] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- pbuz1=_inc_pbuz1 inc sqr1_hi bne !+ inc sqr1_hi+1 !: - //SEG526 [245] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- vwuz1=vwuz1_plus_vbuz2 + //SEG523 [242] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- vwuz1=vwuz1_plus_vbuz2 lda x_2 clc adc sqr @@ -9946,80 +9903,80 @@ init_multiply: { lda #0 adc sqr+1 sta sqr+1 - //SEG527 [246] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG524 [243] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1=_inc_pbuz1 inc sqr1_lo bne !+ inc sqr1_lo+1 !: - //SEG528 [247] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG525 [244] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sqr1_lo+1 cmp #>mul_sqr1_lo+$200 bne b1_from_b2 lda sqr1_lo cmp #init_multiply::@3] + //SEG526 [245] phi from init_multiply::@2 to init_multiply::@3 [phi:init_multiply::@2->init_multiply::@3] b3_from_b2: - //SEG530 [248] phi (byte) init_multiply::dir#2 = (byte/word/signed word) 255 [phi:init_multiply::@2->init_multiply::@3#0] -- vbuz1=vbuc1 + //SEG527 [245] phi (byte) init_multiply::dir#2 = (byte/word/signed word) 255 [phi:init_multiply::@2->init_multiply::@3#0] -- vbuz1=vbuc1 lda #$ff sta dir - //SEG531 [248] phi (byte*) init_multiply::sqr2_hi#2 = (const byte[512]) mul_sqr2_hi#0 [phi:init_multiply::@2->init_multiply::@3#1] -- pbuz1=pbuc1 + //SEG528 [245] phi (byte*) init_multiply::sqr2_hi#2 = (const byte[512]) mul_sqr2_hi#0 [phi:init_multiply::@2->init_multiply::@3#1] -- pbuz1=pbuc1 lda #mul_sqr2_hi sta sqr2_hi+1 - //SEG532 [248] phi (byte*) init_multiply::sqr2_lo#2 = (const byte[512]) mul_sqr2_lo#0 [phi:init_multiply::@2->init_multiply::@3#2] -- pbuz1=pbuc1 + //SEG529 [245] phi (byte*) init_multiply::sqr2_lo#2 = (const byte[512]) mul_sqr2_lo#0 [phi:init_multiply::@2->init_multiply::@3#2] -- pbuz1=pbuc1 lda #mul_sqr2_lo sta sqr2_lo+1 - //SEG533 [248] phi (byte) init_multiply::x_255#2 = ((byte))-(byte/signed byte/word/signed word) 1 [phi:init_multiply::@2->init_multiply::@3#3] -- vbuxx=vbuc1 + //SEG530 [245] phi (byte) init_multiply::x_255#2 = ((byte))-(byte/signed byte/word/signed word) 1 [phi:init_multiply::@2->init_multiply::@3#3] -- vbuxx=vbuc1 ldx #-1 jmp b3 - //SEG534 [248] phi from init_multiply::@4 to init_multiply::@3 [phi:init_multiply::@4->init_multiply::@3] + //SEG531 [245] phi from init_multiply::@4 to init_multiply::@3 [phi:init_multiply::@4->init_multiply::@3] b3_from_b4: - //SEG535 [248] phi (byte) init_multiply::dir#2 = (byte) init_multiply::dir#3 [phi:init_multiply::@4->init_multiply::@3#0] -- register_copy - //SEG536 [248] phi (byte*) init_multiply::sqr2_hi#2 = (byte*) init_multiply::sqr2_hi#1 [phi:init_multiply::@4->init_multiply::@3#1] -- register_copy - //SEG537 [248] phi (byte*) init_multiply::sqr2_lo#2 = (byte*) init_multiply::sqr2_lo#1 [phi:init_multiply::@4->init_multiply::@3#2] -- register_copy - //SEG538 [248] phi (byte) init_multiply::x_255#2 = (byte) init_multiply::x_255#1 [phi:init_multiply::@4->init_multiply::@3#3] -- register_copy + //SEG532 [245] phi (byte) init_multiply::dir#2 = (byte) init_multiply::dir#3 [phi:init_multiply::@4->init_multiply::@3#0] -- register_copy + //SEG533 [245] phi (byte*) init_multiply::sqr2_hi#2 = (byte*) init_multiply::sqr2_hi#1 [phi:init_multiply::@4->init_multiply::@3#1] -- register_copy + //SEG534 [245] phi (byte*) init_multiply::sqr2_lo#2 = (byte*) init_multiply::sqr2_lo#1 [phi:init_multiply::@4->init_multiply::@3#2] -- register_copy + //SEG535 [245] phi (byte) init_multiply::x_255#2 = (byte) init_multiply::x_255#1 [phi:init_multiply::@4->init_multiply::@3#3] -- register_copy jmp b3 - //SEG539 init_multiply::@3 + //SEG536 init_multiply::@3 b3: - //SEG540 [249] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuxx + //SEG537 [246] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuxx lda mul_sqr1_lo,x ldy #0 sta (sqr2_lo),y - //SEG541 [250] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuxx + //SEG538 [247] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuxx lda mul_sqr1_hi,x ldy #0 sta (sqr2_hi),y - //SEG542 [251] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG539 [248] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) -- pbuz1=_inc_pbuz1 inc sqr2_hi bne !+ inc sqr2_hi+1 !: - //SEG543 [252] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuxx=vbuxx_plus_vbuz1 + //SEG540 [249] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuxx=vbuxx_plus_vbuz1 txa clc adc dir tax - //SEG544 [253] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuxx_neq_0_then_la1 + //SEG541 [250] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuxx_neq_0_then_la1 cpx #0 bne b12_from_b3 - //SEG545 [254] phi from init_multiply::@3 to init_multiply::@4 [phi:init_multiply::@3->init_multiply::@4] + //SEG542 [251] phi from init_multiply::@3 to init_multiply::@4 [phi:init_multiply::@3->init_multiply::@4] b4_from_b3: - //SEG546 [254] phi (byte) init_multiply::dir#3 = (byte/signed byte/word/signed word) 1 [phi:init_multiply::@3->init_multiply::@4#0] -- vbuz1=vbuc1 + //SEG543 [251] phi (byte) init_multiply::dir#3 = (byte/signed byte/word/signed word) 1 [phi:init_multiply::@3->init_multiply::@4#0] -- vbuz1=vbuc1 lda #1 sta dir jmp b4 - //SEG547 init_multiply::@4 + //SEG544 init_multiply::@4 b4: - //SEG548 [255] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1=_inc_pbuz1 + //SEG545 [252] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1=_inc_pbuz1 inc sqr2_lo bne !+ inc sqr2_lo+1 !: - //SEG549 [256] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG546 [253] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sqr2_lo+1 cmp #>mul_sqr2_lo+$1ff bne b3_from_b4 @@ -10027,56 +9984,56 @@ init_multiply: { cmp #init_multiply::@12] + //SEG552 [257] phi from init_multiply::@3 to init_multiply::@12 [phi:init_multiply::@3->init_multiply::@12] b12_from_b3: jmp b12 - //SEG556 init_multiply::@12 + //SEG553 init_multiply::@12 b12: - //SEG557 [254] phi from init_multiply::@12 to init_multiply::@4 [phi:init_multiply::@12->init_multiply::@4] + //SEG554 [251] phi from init_multiply::@12 to init_multiply::@4 [phi:init_multiply::@12->init_multiply::@4] b4_from_b12: - //SEG558 [254] phi (byte) init_multiply::dir#3 = (byte) init_multiply::dir#2 [phi:init_multiply::@12->init_multiply::@4#0] -- register_copy + //SEG555 [251] phi (byte) init_multiply::dir#3 = (byte) init_multiply::dir#2 [phi:init_multiply::@12->init_multiply::@4#0] -- register_copy jmp b4 } -//SEG559 print_cls +//SEG556 print_cls print_cls: { .label sc = 4 - //SEG560 [262] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG557 [259] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] b1_from_print_cls: - //SEG561 [262] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG558 [259] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #<$400 sta sc lda #>$400 sta sc+1 jmp b1 - //SEG562 [262] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG559 [259] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] b1_from_b1: - //SEG563 [262] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG560 [259] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG564 print_cls::@1 + //SEG561 print_cls::@1 b1: - //SEG565 [263] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG562 [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG566 [264] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG563 [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG567 [265] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_vwuc1_then_la1 + //SEG564 [262] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_vwuc1_then_la1 lda sc+1 cmp #>$400+$3e8 bne b1_from_b1 @@ -10084,9 +10041,9 @@ print_cls: { cmp #<$400+$3e8 bne b1_from_b1 jmp breturn - //SEG568 print_cls::@return + //SEG565 print_cls::@return breturn: - //SEG569 [266] return [ ] ( main:2::print_cls:5 [ ] ) + //SEG566 [263] return [ ] ( main:2::print_cls:5 [ ] ) rts } .align $100 @@ -10276,12 +10233,10 @@ Removing instruction b2_from_print_sword: Removing instruction print_char_from_b2: Removing instruction b1_from_print_sword: Removing instruction b1_from_b4: -Removing instruction print_word_from_b1: Removing instruction b2_from_print_sbyte: Removing instruction print_char_from_b2: Removing instruction b1_from_print_sbyte: Removing instruction b1_from_b4: -Removing instruction print_byte_from_b1: Removing instruction b1_from_b3: Removing instruction b1_from_b6: Removing instruction b2_from_b1: @@ -10358,6 +10313,7 @@ Removing instruction b8: Removing instruction breturn: Removing instruction b2: Removing instruction b4: +Removing instruction print_word_from_b1: Removing instruction breturn: Removing instruction print_byte_from_print_word: Removing instruction b1: @@ -10370,6 +10326,7 @@ Removing instruction breturn: Removing instruction breturn: Removing instruction b2: Removing instruction b4: +Removing instruction print_byte_from_b1: Removing instruction breturn: Removing instruction multiply_from_signed_multiply: Removing instruction b6: @@ -10548,13 +10505,13 @@ FINAL SYMBOL TABLE (word()) multiply((byte) multiply::a , (byte) multiply::b) (label) multiply::@return (byte) multiply::a -(byte) multiply::a#0 reg byte a 2.0 (byte) multiply::a#1 reg byte a 101.0 (byte) multiply::a#2 reg byte a 105.0 +(byte~) multiply::a#4 reg byte a 2.0 (byte) multiply::b -(byte) multiply::b#0 reg byte x 4.0 (byte) multiply::b#1 reg byte x 202.0 (byte) multiply::b#2 reg byte x 52.5 +(byte~) multiply::b#4 reg byte x 4.0 (byte*) multiply::memA (const byte*) multiply::memA#0 memA = ((byte*))(byte/word/signed word) 254 (byte*) multiply::memB @@ -10632,12 +10589,12 @@ FINAL SYMBOL TABLE (label) print_byte::@1 (label) print_byte::@return (byte) print_byte::b -(byte) print_byte::b#0 reg byte x 4.0 (byte) print_byte::b#1 reg byte x 4.0 (byte) print_byte::b#2 reg byte x 4.0 (byte) print_byte::b#3 reg byte x 4.0 (byte) print_byte::b#4 reg byte x 4.0 (byte) print_byte::b#5 reg byte x 3.5 +(byte~) print_byte::b#9 reg byte x 4.0 (byte[]) print_byte::hextab (const string) print_byte::hextab#0 hextab = (string) "0123456789abcdef" (void()) print_char((byte) print_char::ch) @@ -10665,7 +10622,7 @@ FINAL SYMBOL TABLE (signed byte) print_sbyte::b#1 reg byte x 4.0 (signed byte) print_sbyte::b#2 reg byte x 4.0 (signed byte) print_sbyte::b#3 reg byte x 2.5 -(signed byte) print_sbyte::b#4 reg byte x 6.0 +(signed byte) print_sbyte::b#4 reg byte x 4.0 (void()) print_str((byte*) print_str::str) (label) print_str::@1 (label) print_str::@2 @@ -10684,24 +10641,22 @@ FINAL SYMBOL TABLE (signed word) print_sword::w#1 w zp ZP_WORD:6 4.0 (signed word) print_sword::w#2 w zp ZP_WORD:6 4.0 (signed word) print_sword::w#3 w zp ZP_WORD:6 2.5 -(signed word) print_sword::w#4 w zp ZP_WORD:6 6.0 +(signed word) print_sword::w#4 w zp ZP_WORD:6 4.0 (void()) print_word((word) print_word::w) (label) print_word::@1 (label) print_word::@return (word) print_word::w -(word) print_word::w#0 w zp ZP_WORD:6 4.0 (word) print_word::w#1 w zp ZP_WORD:6 4.0 +(word~) print_word::w#11 w zp ZP_WORD:6 4.0 (word) print_word::w#2 w zp ZP_WORD:6 4.0 (word) print_word::w#3 w zp ZP_WORD:6 4.0 (word) print_word::w#4 w zp ZP_WORD:6 4.0 (word) print_word::w#5 w zp ZP_WORD:6 4.666666666666666 (signed word()) signed_multiply((signed byte) signed_multiply::a , (signed byte) signed_multiply::b) -(byte~) signed_multiply::$12 reg byte a 2.0 -(byte~) signed_multiply::$13 $13 zp ZP_BYTE:14 4.0 +(byte~) signed_multiply::$12 reg byte a 4.0 (byte/signed byte/word/signed word~) signed_multiply::$16 reg byte a 4.0 (byte/signed byte/word/signed word~) signed_multiply::$17 reg byte a 4.0 -(byte~) signed_multiply::$6 reg byte a 2.0 -(byte~) signed_multiply::$7 reg byte x 4.0 +(byte~) signed_multiply::$6 reg byte a 4.0 (label) signed_multiply::@1 (label) signed_multiply::@2 (label) signed_multiply::@3 @@ -10709,17 +10664,16 @@ FINAL SYMBOL TABLE (label) signed_multiply::@6 (label) signed_multiply::@return (signed byte) signed_multiply::a -(signed byte) signed_multiply::a#0 reg byte y 7.133333333333335 +(signed byte) signed_multiply::a#0 reg byte y 7.357142857142858 (signed byte) signed_multiply::b -(signed byte) signed_multiply::b#0 b zp ZP_BYTE:3 8.916666666666664 +(signed byte) signed_multiply::b#0 b zp ZP_BYTE:3 9.363636363636363 (word) signed_multiply::m -(word) signed_multiply::m#0 m zp ZP_WORD:6 1.6 +(word) signed_multiply::m#0 m zp ZP_WORD:6 2.0 (word) signed_multiply::m#1 m zp ZP_WORD:6 4.0 (word) signed_multiply::m#2 m zp ZP_WORD:6 4.0 -(word) signed_multiply::m#4 m zp ZP_WORD:6 6.0 -(word) signed_multiply::m#5 m zp ZP_WORD:6 2.0 +(word) signed_multiply::m#4 m zp ZP_WORD:6 1.3333333333333333 +(word) signed_multiply::m#5 m zp ZP_WORD:6 2.5 (signed word) signed_multiply::return -(signed word) signed_multiply::return#0 return zp ZP_WORD:6 34.33333333333333 (signed word) signed_multiply::return#2 return zp ZP_WORD:6 202.0 (void()) signed_multiply_error((signed byte) signed_multiply_error::a , (signed byte) signed_multiply_error::b , (signed word) signed_multiply_error::ms , (signed word) signed_multiply_error::ma) (label) signed_multiply_error::@1 @@ -10810,13 +10764,13 @@ FINAL SYMBOL TABLE zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 slow_signed_multiply::a#0 signed_multiply_error::b#0 slow_multiply::a#0 multiply_error::b#0 ] zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 multiply_results_compare::b#2 multiply_results_compare::b#1 signed_multiply::b#0 ] zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 print_cls::sc#2 print_cls::sc#1 ] -zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 signed_multiply::return#0 multiply::return#0 slow_multiply::return#2 multiply::return#3 multiply_results_compare::ma#0 ] -reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] +zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 multiply::return#0 slow_multiply::return#2 multiply::return#3 multiply_results_compare::ma#0 ] +reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] zp ZP_WORD:8 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 signed_multiply_results_compare::ms#0 ] reg byte x [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] -reg byte a [ multiply::a#2 multiply::a#1 multiply::a#0 ] -reg byte x [ multiply::b#2 multiply::b#1 multiply::b#0 ] +reg byte a [ multiply::a#2 multiply::a#1 multiply::a#4 ] +reg byte x [ multiply::b#2 multiply::b#1 multiply::b#4 ] reg byte y [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] reg byte y [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] reg byte y [ slow_multiply::i#2 slow_multiply::i#1 ] @@ -10830,10 +10784,8 @@ zp ZP_WORD:12 [ signed_multiply_error::ma#0 multiply_error::ma#0 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] reg byte a [ signed_multiply::$6 ] -reg byte x [ signed_multiply::$7 ] reg byte a [ signed_multiply::$16 ] reg byte a [ signed_multiply::$12 ] -zp ZP_BYTE:14 [ signed_multiply::$13 ] reg byte a [ signed_multiply::$17 ] reg byte x [ slow_multiply::b#0 ] reg byte x [ multiply_error::a#0 ] @@ -10843,7 +10795,7 @@ reg byte a [ init_multiply::$6 ] FINAL ASSEMBLER -Score: 161076 +Score: 161070 //SEG0 Basic Upstart .pc = $801 "Basic" @@ -10866,12 +10818,12 @@ main: { lda #5 sta BGCOL //SEG10 [5] call print_cls param-assignment [ ] ( main:2 [ ] ) - //SEG11 [261] phi from main to print_cls [phi:main->print_cls] + //SEG11 [258] phi from main to print_cls [phi:main->print_cls] jsr print_cls //SEG12 [6] phi from main to main::@1 [phi:main->main::@1] //SEG13 main::@1 //SEG14 [7] call init_multiply param-assignment [ ] ( main:2 [ ] ) - //SEG15 [232] phi from main::@1 to init_multiply [phi:main::@1->init_multiply] + //SEG15 [229] phi from main::@1 to init_multiply [phi:main::@1->init_multiply] jsr init_multiply //SEG16 [8] phi from main::@1 to main::@2 [phi:main::@1->main::@2] //SEG17 main::@2 @@ -10880,12 +10832,12 @@ main: { //SEG19 [10] phi from main::@2 to main::@3 [phi:main::@2->main::@3] //SEG20 main::@3 //SEG21 [11] call multiply_tables_compare param-assignment [ line_cursor#27 char_cursor#27 ] ( main:2 [ line_cursor#27 char_cursor#27 ] ) - //SEG22 [205] phi from main::@3 to multiply_tables_compare [phi:main::@3->multiply_tables_compare] + //SEG22 [202] phi from main::@3 to multiply_tables_compare [phi:main::@3->multiply_tables_compare] jsr multiply_tables_compare //SEG23 [12] phi from main::@3 to main::@4 [phi:main::@3->main::@4] //SEG24 main::@4 //SEG25 [13] call multiply_results_compare param-assignment [ line_cursor#1 ] ( main:2 [ line_cursor#1 ] ) - //SEG26 [150] phi from main::@4 to multiply_results_compare [phi:main::@4->multiply_results_compare] + //SEG26 [147] phi from main::@4 to multiply_results_compare [phi:main::@4->multiply_results_compare] jsr multiply_results_compare //SEG27 [14] phi from main::@4 to main::@5 [phi:main::@4->main::@5] //SEG28 main::@5 @@ -10936,10 +10888,10 @@ signed_multiply_results_compare: { ldy a //SEG51 [26] (signed byte) signed_multiply::b#0 ← (signed byte) signed_multiply_results_compare::b#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::a#0 signed_multiply::b#0 line_cursor#1 ] ) // (signed byte) signed_multiply::b#0 = (signed byte) signed_multiply_results_compare::b#2 // register copy zp ZP_BYTE:3 - //SEG52 [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#0 line_cursor#1 ] ) + //SEG52 [27] call signed_multiply param-assignment [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::m#4 line_cursor#1 ] ) jsr signed_multiply - //SEG53 [28] (signed word) signed_multiply::return#2 ← (signed word) signed_multiply::return#0 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) - // (signed word) signed_multiply::return#2 = (signed word) signed_multiply::return#0 // register copy zp ZP_WORD:6 + //SEG53 [28] (signed word) signed_multiply::return#2 ← (signed word)(word) signed_multiply::m#4 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply::return#2 line_cursor#1 ] ) + // (signed word) signed_multiply::return#2 = (signed word)(word) signed_multiply::m#4 // register copy zp ZP_WORD:6 //SEG54 signed_multiply_results_compare::@9 //SEG55 [29] (signed word) signed_multiply_results_compare::ma#0 ← (signed word) signed_multiply::return#2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ( main:2::signed_multiply_results_compare:15 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 signed_multiply_results_compare::ma#0 line_cursor#1 ] ) // (signed word) signed_multiply_results_compare::ma#0 = (signed word) signed_multiply::return#2 // register copy zp ZP_WORD:6 @@ -11022,7 +10974,7 @@ print_ln: { //SEG86 [47] phi (byte*) line_cursor#20 = (byte*) line_cursor#40 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy //SEG87 print_ln::@1 b1: - //SEG88 [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG88 [48] (byte*) line_cursor#1 ← (byte*) line_cursor#20 + (byte/signed byte/word/signed word) 40 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line_cursor clc adc #$28 @@ -11030,7 +10982,7 @@ print_ln: { bcc !+ inc line_cursor+1 !: - //SEG89 [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG89 [49] if((byte*) line_cursor#1<(byte*) char_cursor#118) goto print_ln::@1 [ line_cursor#1 char_cursor#118 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 char_cursor#118 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 char_cursor#118 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 char_cursor#118 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 char_cursor#118 ] ) -- pbuz1_lt_pbuz2_then_la1 lda line_cursor+1 cmp char_cursor+1 bcc b1 @@ -11040,7 +10992,7 @@ print_ln: { bcc b1 !: //SEG90 print_ln::@return - //SEG91 [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:178 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_ln:196 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:224 [ line_cursor#1 ] ) + //SEG91 [50] return [ line_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_ln:45 [ line_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_ln:75 [ line_cursor#1 ] main:2::multiply_results_compare:13::print_ln:175 [ line_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_ln:193 [ line_cursor#1 ] main:2::multiply_tables_compare:11::print_ln:221 [ line_cursor#1 ] ) rts } //SEG92 print_str @@ -11051,26 +11003,26 @@ print_str: { //SEG95 [52] phi (byte*) print_str::str#14 = (byte*) print_str::str#16 [phi:print_str/print_str::@2->print_str::@1#1] -- register_copy //SEG96 print_str::@1 b1: - //SEG97 [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG97 [53] if(*((byte*) print_str::str#14)!=(byte) '@') goto print_str::@2 [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b2 //SEG98 print_str::@return - //SEG99 [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 ] ) + //SEG99 [54] return [ char_cursor#117 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 ] ) rts //SEG100 print_str::@2 b2: - //SEG101 [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:222 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1=_deref_pbuz2 + //SEG101 [55] *((byte*) char_cursor#117) ← *((byte*) print_str::str#14) [ char_cursor#117 print_str::str#14 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 char_cursor#117 print_str::str#14 ] main:2::multiply_tables_compare:11::print_str:219 [ char_cursor#117 print_str::str#14 ] ) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y sta (char_cursor),y - //SEG102 [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#14 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG102 [56] (byte*) char_cursor#1 ← ++ (byte*) char_cursor#117 [ print_str::str#14 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#14 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#14 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: - //SEG103 [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:176 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:180 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:184 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:188 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_str:192 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:209 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:213 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:222 [ print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG103 [57] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#14 [ print_str::str#0 char_cursor#1 ] ( main:2::signed_multiply_results_compare:15::print_str:43 [ line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:59 [ signed_multiply_error::a#0 signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:63 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:67 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_str:71 [ signed_multiply_error::ma#0 line_cursor#1 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::print_str:173 [ line_cursor#27 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:177 [ line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:181 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:185 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_str:189 [ line_cursor#27 multiply_error::ma#0 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:206 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:210 [ multiply_tables_compare::kc_sqr#2 print_str::str#0 char_cursor#1 ] main:2::multiply_tables_compare:11::print_str:219 [ print_str::str#0 char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 @@ -11208,11 +11160,12 @@ print_sword: { //SEG168 [82] phi (signed word) print_sword::w#4 = (signed word) print_sword::w#3 [phi:print_sword/print_sword::@4->print_sword::@1#1] -- register_copy //SEG169 print_sword::@1 b1: - //SEG170 [83] (word) print_word::w#0 ← ((word)) (signed word) print_sword::w#4 [ char_cursor#119 print_word::w#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#0 ] ) -- vwuz1=_word_vwsz1 + //SEG170 [83] (word~) print_word::w#11 ← (word)(signed word) print_sword::w#4 [ char_cursor#119 print_word::w#11 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#119 print_word::w#11 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#119 print_word::w#11 ] ) + // (word~) print_word::w#11 = (word)(signed word) print_sword::w#4 // register copy zp ZP_WORD:6 //SEG171 [84] call print_word param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 ] ) //SEG172 [86] phi from print_sword::@1 to print_word [phi:print_sword::@1->print_word] //SEG173 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#119 [phi:print_sword::@1->print_word#0] -- register_copy - //SEG174 [86] phi (word) print_word::w#5 = (word) print_word::w#0 [phi:print_sword::@1->print_word#1] -- register_copy + //SEG174 [86] phi (word) print_word::w#5 = (word~) print_word::w#11 [phi:print_sword::@1->print_word#1] -- register_copy jsr print_word //SEG175 print_sword::@return //SEG176 [85] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73 [ line_cursor#1 char_cursor#17 ] ) @@ -11221,72 +11174,72 @@ print_sword: { //SEG177 print_word print_word: { .label w = 6 - //SEG178 [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:215 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) -- vbuxx=_hi_vwuz1 + //SEG178 [87] (byte) print_byte::b#1 ← > (word) print_word::w#5 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#123 print_byte::b#1 ] main:2::multiply_tables_compare:11::print_word:212 [ print_word::w#5 char_cursor#123 print_byte::b#1 ] ) -- vbuxx=_hi_vwuz1 lda w+1 tax - //SEG179 [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_word::w#5 ] ) + //SEG179 [88] call print_byte param-assignment [ char_cursor#17 print_word::w#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_word::w#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_word::w#5 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_word::w#5 ] ) //SEG180 [92] phi from print_word to print_byte [phi:print_word->print_byte] //SEG181 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#123 [phi:print_word->print_byte#0] -- register_copy //SEG182 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#1 [phi:print_word->print_byte#1] -- register_copy jsr print_byte //SEG183 print_word::@1 - //SEG184 [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 print_byte::b#2 ] ) -- vbuxx=_lo_vwuz1 + //SEG184 [89] (byte) print_byte::b#2 ← < (word) print_word::w#5 [ char_cursor#17 print_byte::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#2 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 print_byte::b#2 ] ) -- vbuxx=_lo_vwuz1 lda w tax - //SEG185 [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + //SEG185 [90] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) //SEG186 [92] phi from print_word::@1 to print_byte [phi:print_word::@1->print_byte] //SEG187 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#17 [phi:print_word::@1->print_byte#0] -- register_copy //SEG188 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#2 [phi:print_word::@1->print_byte#1] -- register_copy jsr print_byte //SEG189 print_word::@return - //SEG190 [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215 [ char_cursor#17 ] ) + //SEG190 [91] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212 [ char_cursor#17 ] ) rts } //SEG191 print_byte print_byte: { - //SEG192 [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) -- vbuaa=vbuxx_ror_4 + //SEG192 [93] (byte~) print_byte::$0 ← (byte) print_byte::b#5 >> (byte/signed byte/word/signed word) 4 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_byte::$0 ] ) -- vbuaa=vbuxx_ror_4 txa lsr lsr lsr lsr - //SEG193 [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG193 [94] (byte) print_char::ch#2 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$0) [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#124 print_char::ch#2 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda hextab,y - //SEG194 [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) + //SEG194 [95] call print_char param-assignment [ char_cursor#17 print_byte::b#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::b#5 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::b#5 ] ) //SEG195 [100] phi from print_byte to print_char [phi:print_byte->print_char] //SEG196 [100] phi (byte*) char_cursor#75 = (byte*) char_cursor#124 [phi:print_byte->print_char#0] -- register_copy //SEG197 [100] phi (byte) print_char::ch#4 = (byte) print_char::ch#2 [phi:print_byte->print_char#1] -- register_copy jsr print_char //SEG198 print_byte::@1 - //SEG199 [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG199 [96] (byte~) print_byte::$2 ← (byte) print_byte::b#5 & (byte/signed byte/word/signed word) 15 [ char_cursor#17 print_byte::$2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_byte::$2 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_byte::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #$f - //SEG200 [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) -- vbuaa=pbuc1_derefidx_vbuaa + //SEG200 [97] (byte) print_char::ch#3 ← *((const string) print_byte::hextab#0 + (byte~) print_byte::$2) [ char_cursor#17 print_char::ch#3 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 print_char::ch#3 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 print_char::ch#3 ] ) -- vbuaa=pbuc1_derefidx_vbuaa tay lda hextab,y - //SEG201 [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + //SEG201 [98] call print_char param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) //SEG202 [100] phi from print_byte::@1 to print_char [phi:print_byte::@1->print_char] //SEG203 [100] phi (byte*) char_cursor#75 = (byte*) char_cursor#17 [phi:print_byte::@1->print_char#0] -- register_copy //SEG204 [100] phi (byte) print_char::ch#4 = (byte) print_char::ch#3 [phi:print_byte::@1->print_char#1] -- register_copy jsr print_char //SEG205 print_byte::@return - //SEG206 [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) + //SEG206 [99] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] ) rts hextab: .text "0123456789abcdef" } //SEG207 print_char print_char: { - //SEG208 [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) -- _deref_pbuz1=vbuaa + //SEG208 [101] *((byte*) char_cursor#75) ← (byte) print_char::ch#4 [ char_cursor#75 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#75 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#75 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (char_cursor),y - //SEG209 [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 + //SEG209 [102] (byte*) char_cursor#17 ← ++ (byte*) char_cursor#75 [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) -- pbuz1=_inc_pbuz1 inc char_cursor bne !+ inc char_cursor+1 !: //SEG210 print_char::@return - //SEG211 [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:190::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_word:194::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:211::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:215::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:182::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:169::print_byte:186::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) + //SEG211 [103] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_char:80 [ signed_multiply_error::ma#0 line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_char:80 [ line_cursor#1 print_sword::w#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:95 [ line_cursor#1 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:95 [ line_cursor#27 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:95 [ print_word::w#5 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:95 [ signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:95 [ line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:95 [ line_cursor#27 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:95 [ line_cursor#27 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:95 [ multiply_tables_compare::kc_sqr#2 print_byte::b#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:95 [ print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:95 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:95 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:95 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:95 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 print_byte::b#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:88::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:88::print_char:98 [ line_cursor#1 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:88::print_char:98 [ line_cursor#27 multiply_error::ma#0 print_word::w#5 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:88::print_char:98 [ line_cursor#27 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:88::print_char:98 [ multiply_tables_compare::kc_sqr#2 print_word::w#5 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:88::print_char:98 [ print_word::w#5 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:69::print_word:84::print_byte:90::print_char:98 [ signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sword:73::print_word:84::print_byte:90::print_char:98 [ line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:187::print_byte:90::print_char:98 [ line_cursor#27 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_word:191::print_byte:90::print_char:98 [ line_cursor#27 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:208::print_byte:90::print_char:98 [ multiply_tables_compare::kc_sqr#2 char_cursor#17 ] main:2::multiply_tables_compare:11::print_word:212::print_byte:90::print_char:98 [ char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_byte:111::print_char:98 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_byte:111::print_char:98 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:179::print_char:98 [ line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::multiply_results_compare:13::multiply_error:166::print_byte:183::print_char:98 [ line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61::print_char:107 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65::print_char:107 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_sbyte::b#3 char_cursor#17 ] ) rts } //SEG212 print_sbyte @@ -11314,11 +11267,12 @@ print_sbyte: { //SEG224 [109] phi (signed byte) print_sbyte::b#4 = (signed byte) print_sbyte::b#3 [phi:print_sbyte/print_sbyte::@4->print_sbyte::@1#1] -- register_copy //SEG225 print_sbyte::@1 b1: - //SEG226 [110] (byte) print_byte::b#0 ← ((byte)) (signed byte) print_sbyte::b#4 [ print_byte::b#0 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#0 char_cursor#121 ] ) -- vbuxx=_byte_vbsxx + //SEG226 [110] (byte~) print_byte::b#9 ← (byte)(signed byte) print_sbyte::b#4 [ print_byte::b#9 char_cursor#121 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 print_byte::b#9 char_cursor#121 ] ) + // (byte~) print_byte::b#9 = (byte)(signed byte) print_sbyte::b#4 // register copy reg byte x //SEG227 [111] call print_byte param-assignment [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] ) //SEG228 [92] phi from print_sbyte::@1 to print_byte [phi:print_sbyte::@1->print_byte] //SEG229 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#121 [phi:print_sbyte::@1->print_byte#0] -- register_copy - //SEG230 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#0 [phi:print_sbyte::@1->print_byte#1] -- register_copy + //SEG230 [92] phi (byte) print_byte::b#5 = (byte~) print_byte::b#9 [phi:print_sbyte::@1->print_byte#1] -- register_copy jsr print_byte //SEG231 print_sbyte::@return //SEG232 [112] return [ char_cursor#17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:61 [ signed_multiply_error::b#0 signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] main:2::signed_multiply_results_compare:15::signed_multiply_error:36::print_sbyte:65 [ signed_multiply_error::ms#0 signed_multiply_error::ma#0 line_cursor#1 char_cursor#17 ] ) @@ -11326,18 +11280,17 @@ print_sbyte: { } //SEG233 signed_multiply signed_multiply: { - .label _13 = $e .label m = 6 - .label return = 6 .label b = 3 - //SEG234 [113] (byte) multiply::a#0 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 ] ) -- vbuaa=_byte_vbsyy + .label return = 6 + //SEG234 [113] (byte~) multiply::a#4 ← (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 ] ) -- vbuaa=vbuyy tya - //SEG235 [114] (byte) multiply::b#0 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#0 multiply::b#0 ] ) -- vbuxx=_byte_vbsz1 + //SEG235 [114] (byte~) multiply::b#4 ← (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::a#4 multiply::b#4 ] ) -- vbuxx=vbuz1 ldx b //SEG236 [115] call multiply param-assignment [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] ) - //SEG237 [132] phi from signed_multiply to multiply [phi:signed_multiply->multiply] - //SEG238 [132] phi (byte) multiply::b#2 = (byte) multiply::b#0 [phi:signed_multiply->multiply#0] -- register_copy - //SEG239 [132] phi (byte) multiply::a#2 = (byte) multiply::a#0 [phi:signed_multiply->multiply#1] -- register_copy + //SEG237 [129] phi from signed_multiply to multiply [phi:signed_multiply->multiply] + //SEG238 [129] phi (byte) multiply::b#2 = (byte~) multiply::b#4 [phi:signed_multiply->multiply#0] -- register_copy + //SEG239 [129] phi (byte) multiply::a#2 = (byte~) multiply::a#4 [phi:signed_multiply->multiply#1] -- register_copy jsr multiply //SEG240 [116] (word) multiply::return#2 ← (word) multiply::return#0 [ signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#2 ] ) // (word) multiply::return#2 = (word) multiply::return#0 // register copy zp ZP_WORD:6 @@ -11350,51 +11303,46 @@ signed_multiply: { //SEG244 signed_multiply::@3 //SEG245 [119] (byte~) signed_multiply::$6 ← > (word) signed_multiply::m#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 ] ) -- vbuaa=_hi_vwuz1 lda m+1 - //SEG246 [120] (byte~) signed_multiply::$7 ← ((byte)) (signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$6 signed_multiply::$7 ] ) -- vbuxx=_byte_vbsz1 - ldx b - //SEG247 [121] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte~) signed_multiply::$7 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuaa=vbuaa_minus_vbuxx - stx $ff + //SEG246 [120] (byte/signed byte/word/signed word~) signed_multiply::$16 ← (byte~) signed_multiply::$6 - (byte)(signed byte) signed_multiply::b#0 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#0 signed_multiply::$16 ] ) -- vbuaa=vbuaa_minus_vbuz1 sec - sbc $ff - //SEG248 [122] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa + sbc b + //SEG247 [121] (word) signed_multiply::m#1 ← (word) signed_multiply::m#0 hi= (byte/signed byte/word/signed word~) signed_multiply::$16 [ signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 signed_multiply::m#1 ] ) -- vwuz1=vwuz1_sethi_vbuaa sta m+1 - //SEG249 [123] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1] - //SEG250 [123] phi (word) signed_multiply::m#5 = (word) signed_multiply::m#1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1#0] -- register_copy - //SEG251 signed_multiply::@1 + //SEG248 [122] phi from signed_multiply::@3 signed_multiply::@6 to signed_multiply::@1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1] + //SEG249 [122] phi (word) signed_multiply::m#5 = (word) signed_multiply::m#1 [phi:signed_multiply::@3/signed_multiply::@6->signed_multiply::@1#0] -- register_copy + //SEG250 signed_multiply::@1 b1: - //SEG252 [124] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) -- vbsz1_ge_0_then_la1 + //SEG251 [123] if((signed byte) signed_multiply::b#0>=(byte/signed byte/word/signed word) 0) goto signed_multiply::@2 [ signed_multiply::a#0 signed_multiply::m#5 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 ] ) -- vbsz1_ge_0_then_la1 lda b cmp #0 bpl b2 - //SEG253 signed_multiply::@4 - //SEG254 [125] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuaa=_hi_vwuz1 + //SEG252 signed_multiply::@4 + //SEG253 [124] (byte~) signed_multiply::$12 ← > (word) signed_multiply::m#5 [ signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::m#5 signed_multiply::$12 ] ) -- vbuaa=_hi_vwuz1 lda m+1 - //SEG255 [126] (byte~) signed_multiply::$13 ← ((byte)) (signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$12 signed_multiply::$13 ] ) -- vbuz1=_byte_vbsyy - sty _13 - //SEG256 [127] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte~) signed_multiply::$13 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuaa=vbuaa_minus_vbuz1 + //SEG254 [125] (byte/signed byte/word/signed word~) signed_multiply::$17 ← (byte~) signed_multiply::$12 - (byte)(signed byte) signed_multiply::a#0 [ signed_multiply::m#5 signed_multiply::$17 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#5 signed_multiply::$17 ] ) -- vbuaa=vbuaa_minus_vbuyy + sty $ff sec - sbc _13 - //SEG257 [128] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuaa + sbc $ff + //SEG255 [126] (word) signed_multiply::m#2 ← (word) signed_multiply::m#5 hi= (byte/signed byte/word/signed word~) signed_multiply::$17 [ signed_multiply::m#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#2 ] ) -- vwuz1=vwuz1_sethi_vbuaa sta m+1 - //SEG258 [129] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2] - //SEG259 [129] phi (word) signed_multiply::m#4 = (word) signed_multiply::m#5 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2#0] -- register_copy - //SEG260 signed_multiply::@2 + //SEG256 [127] phi from signed_multiply::@1 signed_multiply::@4 to signed_multiply::@2 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2] + //SEG257 [127] phi (word) signed_multiply::m#4 = (word) signed_multiply::m#5 [phi:signed_multiply::@1/signed_multiply::@4->signed_multiply::@2#0] -- register_copy + //SEG258 signed_multiply::@2 b2: - //SEG261 [130] (signed word) signed_multiply::return#0 ← ((signed word)) (word) signed_multiply::m#4 [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) -- vwsz1=_sword_vwuz1 - //SEG262 signed_multiply::@return - //SEG263 [131] return [ signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::return#0 ] ) + //SEG259 signed_multiply::@return + //SEG260 [128] return [ signed_multiply::m#4 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::m#4 ] ) rts } -//SEG264 multiply +//SEG261 multiply multiply: { .const memA = $fe .const memB = $ff .label return = 6 - //SEG265 [133] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) -- _deref_pbuc1=vbuaa + //SEG262 [130] *((const byte*) multiply::memA#0) ← (byte) multiply::a#2 [ multiply::b#2 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::b#2 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::b#2 ] ) -- _deref_pbuc1=vbuaa sta memA - //SEG266 [134] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- _deref_pbuc1=vbuxx + //SEG263 [131] *((const byte*) multiply::memB#0) ← (byte) multiply::b#2 [ ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- _deref_pbuc1=vbuxx stx memB - //SEG267 asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } + //SEG264 asm { ldamemA stasm1+1 stasm3+1 eor#$ff stasm2+1 stasm4+1 ldxmemB sec sm1: ldamul_sqr1_lo,x sm2: sbcmul_sqr2_lo,x stamemA sm3: ldamul_sqr1_hi,x sm4: sbcmul_sqr2_hi,x stamemB } sta sm1+1 sta sm3+1 eor #$ff @@ -11411,37 +11359,37 @@ multiply: { sm4: sbc mul_sqr2_hi,x sta memB - //SEG268 [136] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + //SEG265 [133] (word) multiply::return#0 ← *((const byte*) multiply::memB#0) w= *((const byte*) multiply::memA#0) [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda memA sta return lda memB sta return+1 - //SEG269 multiply::@return - //SEG270 [137] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:160 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) + //SEG266 multiply::@return + //SEG267 [134] return [ multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::signed_multiply:27::multiply:115 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 signed_multiply_results_compare::ms#0 line_cursor#1 signed_multiply::a#0 signed_multiply::b#0 multiply::return#0 ] main:2::multiply_results_compare:13::multiply:157 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#0 ] ) rts } -//SEG271 slow_signed_multiply +//SEG268 slow_signed_multiply slow_signed_multiply: { .label m = 6 .label return = 6 .label a = 2 - //SEG272 [138] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_ge_0_then_la1 + //SEG269 [135] if((signed byte) slow_signed_multiply::a#0>=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@1 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_ge_0_then_la1 lda a cmp #0 bpl b1 - //SEG273 [139] phi from slow_signed_multiply to slow_signed_multiply::@2 [phi:slow_signed_multiply->slow_signed_multiply::@2] - //SEG274 [139] phi (signed byte) slow_signed_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#0] -- vbsyy=vbuc1 + //SEG270 [136] phi from slow_signed_multiply to slow_signed_multiply::@2 [phi:slow_signed_multiply->slow_signed_multiply::@2] + //SEG271 [136] phi (signed byte) slow_signed_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#0] -- vbsyy=vbuc1 lda #0 tay - //SEG275 [139] phi (signed word) slow_signed_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#1] -- vwsz1=vbuc1 + //SEG272 [136] phi (signed word) slow_signed_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply->slow_signed_multiply::@2#1] -- vwsz1=vbuc1 sta m sta m+1 - //SEG276 [139] phi from slow_signed_multiply::@2 to slow_signed_multiply::@2 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2] - //SEG277 [139] phi (signed byte) slow_signed_multiply::i#2 = (signed byte) slow_signed_multiply::i#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#0] -- register_copy - //SEG278 [139] phi (signed word) slow_signed_multiply::m#3 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#1] -- register_copy - //SEG279 slow_signed_multiply::@2 + //SEG273 [136] phi from slow_signed_multiply::@2 to slow_signed_multiply::@2 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2] + //SEG274 [136] phi (signed byte) slow_signed_multiply::i#2 = (signed byte) slow_signed_multiply::i#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#0] -- register_copy + //SEG275 [136] phi (signed word) slow_signed_multiply::m#3 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2->slow_signed_multiply::@2#1] -- register_copy + //SEG276 slow_signed_multiply::@2 b2: - //SEG280 [140] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) -- vwsz1=vwsz1_minus_vbsxx + //SEG277 [137] (signed word) slow_signed_multiply::m#1 ← (signed word) slow_signed_multiply::m#3 - (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::i#2 slow_signed_multiply::m#1 ] ) -- vwsz1=vwsz1_minus_vbsxx txa sta $fe ora #$7f @@ -11456,44 +11404,44 @@ slow_signed_multiply: { lda m+1 sbc $ff sta m+1 - //SEG281 [141] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsyy=_dec_vbsyy + //SEG278 [138] (signed byte) slow_signed_multiply::i#1 ← -- (signed byte) slow_signed_multiply::i#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsyy=_dec_vbsyy dey - //SEG282 [142] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsyy_neq_vbsz1_then_la1 + //SEG279 [139] if((signed byte) slow_signed_multiply::i#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#1 slow_signed_multiply::i#1 ] ) -- vbsyy_neq_vbsz1_then_la1 cpy a bne b2 - //SEG283 [143] phi from slow_signed_multiply::@2 slow_signed_multiply::@5 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3] - //SEG284 [143] phi (signed word) slow_signed_multiply::return#0 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3#0] -- register_copy + //SEG280 [140] phi from slow_signed_multiply::@2 slow_signed_multiply::@5 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3] + //SEG281 [140] phi (signed word) slow_signed_multiply::return#0 = (signed word) slow_signed_multiply::m#1 [phi:slow_signed_multiply::@2/slow_signed_multiply::@5->slow_signed_multiply::@3#0] -- register_copy jmp b3 - //SEG285 [143] phi from slow_signed_multiply::@1 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3] + //SEG282 [140] phi from slow_signed_multiply::@1 to slow_signed_multiply::@3 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3] b6: - //SEG286 [143] phi (signed word) slow_signed_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3#0] -- vwsz1=vbuc1 + //SEG283 [140] phi (signed word) slow_signed_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@3#0] -- vwsz1=vbuc1 lda #0 sta return sta return+1 - //SEG287 slow_signed_multiply::@3 + //SEG284 slow_signed_multiply::@3 b3: - //SEG288 slow_signed_multiply::@return - //SEG289 [144] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) + //SEG285 slow_signed_multiply::@return + //SEG286 [141] return [ slow_signed_multiply::return#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::return#0 ] ) rts - //SEG290 slow_signed_multiply::@1 + //SEG287 slow_signed_multiply::@1 b1: - //SEG291 [145] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_le_0_then_la1 + //SEG288 [142] if((signed byte) slow_signed_multiply::a#0<=(byte/signed byte/word/signed word) 0) goto slow_signed_multiply::@3 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 ] ) -- vbsz1_le_0_then_la1 lda a cmp #1 bmi b6 - //SEG292 [146] phi from slow_signed_multiply::@1 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5] - //SEG293 [146] phi (signed byte) slow_signed_multiply::j#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#0] -- vbsyy=vbuc1 + //SEG289 [143] phi from slow_signed_multiply::@1 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5] + //SEG290 [143] phi (signed byte) slow_signed_multiply::j#2 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#0] -- vbsyy=vbuc1 lda #0 tay - //SEG294 [146] phi (signed word) slow_signed_multiply::m#5 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#1] -- vwsz1=vbuc1 + //SEG291 [143] phi (signed word) slow_signed_multiply::m#5 = (byte/signed byte/word/signed word) 0 [phi:slow_signed_multiply::@1->slow_signed_multiply::@5#1] -- vwsz1=vbuc1 sta m sta m+1 - //SEG295 [146] phi from slow_signed_multiply::@5 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5] - //SEG296 [146] phi (signed byte) slow_signed_multiply::j#2 = (signed byte) slow_signed_multiply::j#1 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#0] -- register_copy - //SEG297 [146] phi (signed word) slow_signed_multiply::m#5 = (signed word) slow_signed_multiply::m#2 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#1] -- register_copy - //SEG298 slow_signed_multiply::@5 + //SEG292 [143] phi from slow_signed_multiply::@5 to slow_signed_multiply::@5 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5] + //SEG293 [143] phi (signed byte) slow_signed_multiply::j#2 = (signed byte) slow_signed_multiply::j#1 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#0] -- register_copy + //SEG294 [143] phi (signed word) slow_signed_multiply::m#5 = (signed word) slow_signed_multiply::m#2 [phi:slow_signed_multiply::@5->slow_signed_multiply::@5#1] -- register_copy + //SEG295 slow_signed_multiply::@5 b5: - //SEG299 [147] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) -- vwsz1=vwsz1_plus_vbsxx + //SEG296 [144] (signed word) slow_signed_multiply::m#2 ← (signed word) slow_signed_multiply::m#5 + (signed byte) slow_signed_multiply::b#0 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#2 ] ) -- vwsz1=vwsz1_plus_vbsxx txa sta $fe ora #$7f @@ -11508,64 +11456,64 @@ slow_signed_multiply: { lda m+1 adc $ff sta m+1 - //SEG300 [148] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsyy=_inc_vbsyy + //SEG297 [145] (signed byte) slow_signed_multiply::j#1 ← ++ (signed byte) slow_signed_multiply::j#2 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsyy=_inc_vbsyy iny - //SEG301 [149] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsyy_neq_vbsz1_then_la1 + //SEG298 [146] if((signed byte) slow_signed_multiply::j#1!=(signed byte) slow_signed_multiply::a#0) goto slow_signed_multiply::@5 [ slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ( main:2::signed_multiply_results_compare:15::slow_signed_multiply:22 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::b#2 line_cursor#1 slow_signed_multiply::a#0 slow_signed_multiply::b#0 slow_signed_multiply::m#2 slow_signed_multiply::j#1 ] ) -- vbsyy_neq_vbsz1_then_la1 cpy a bne b5 jmp b3 } -//SEG302 multiply_results_compare +//SEG299 multiply_results_compare multiply_results_compare: { .label ms = $a .label ma = 6 .label b = 3 .label a = 2 - //SEG303 [151] phi from multiply_results_compare to multiply_results_compare::@1 [phi:multiply_results_compare->multiply_results_compare::@1] - //SEG304 [151] phi (byte) multiply_results_compare::a#6 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare->multiply_results_compare::@1#0] -- vbuz1=vbuc1 + //SEG300 [148] phi from multiply_results_compare to multiply_results_compare::@1 [phi:multiply_results_compare->multiply_results_compare::@1] + //SEG301 [148] phi (byte) multiply_results_compare::a#6 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare->multiply_results_compare::@1#0] -- vbuz1=vbuc1 lda #0 sta a - //SEG305 [151] phi from multiply_results_compare::@6 to multiply_results_compare::@1 [phi:multiply_results_compare::@6->multiply_results_compare::@1] - //SEG306 [151] phi (byte) multiply_results_compare::a#6 = (byte) multiply_results_compare::a#1 [phi:multiply_results_compare::@6->multiply_results_compare::@1#0] -- register_copy - //SEG307 multiply_results_compare::@1 + //SEG302 [148] phi from multiply_results_compare::@6 to multiply_results_compare::@1 [phi:multiply_results_compare::@6->multiply_results_compare::@1] + //SEG303 [148] phi (byte) multiply_results_compare::a#6 = (byte) multiply_results_compare::a#1 [phi:multiply_results_compare::@6->multiply_results_compare::@1#0] -- register_copy + //SEG304 multiply_results_compare::@1 b1: - //SEG308 [152] phi from multiply_results_compare::@1 to multiply_results_compare::@2 [phi:multiply_results_compare::@1->multiply_results_compare::@2] - //SEG309 [152] phi (byte) multiply_results_compare::b#2 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare::@1->multiply_results_compare::@2#0] -- vbuz1=vbuc1 + //SEG305 [149] phi from multiply_results_compare::@1 to multiply_results_compare::@2 [phi:multiply_results_compare::@1->multiply_results_compare::@2] + //SEG306 [149] phi (byte) multiply_results_compare::b#2 = (byte/signed byte/word/signed word) 0 [phi:multiply_results_compare::@1->multiply_results_compare::@2#0] -- vbuz1=vbuc1 lda #0 sta b - //SEG310 [152] phi from multiply_results_compare::@3 to multiply_results_compare::@2 [phi:multiply_results_compare::@3->multiply_results_compare::@2] - //SEG311 [152] phi (byte) multiply_results_compare::b#2 = (byte) multiply_results_compare::b#1 [phi:multiply_results_compare::@3->multiply_results_compare::@2#0] -- register_copy - //SEG312 multiply_results_compare::@2 + //SEG307 [149] phi from multiply_results_compare::@3 to multiply_results_compare::@2 [phi:multiply_results_compare::@3->multiply_results_compare::@2] + //SEG308 [149] phi (byte) multiply_results_compare::b#2 = (byte) multiply_results_compare::b#1 [phi:multiply_results_compare::@3->multiply_results_compare::@2#0] -- register_copy + //SEG309 multiply_results_compare::@2 b2: - //SEG313 [153] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) + //SEG310 [150] (byte) slow_multiply::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 ] ) // (byte) slow_multiply::a#0 = (byte) multiply_results_compare::a#6 // register copy zp ZP_BYTE:2 - //SEG314 [154] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuxx=vbuz1 + //SEG311 [151] (byte) slow_multiply::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuxx=vbuz1 ldx b - //SEG315 [155] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + //SEG312 [152] call slow_multiply param-assignment [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) jsr slow_multiply - //SEG316 [156] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) + //SEG313 [153] (word) slow_multiply::return#2 ← (word) slow_multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#2 ] ) // (word) slow_multiply::return#2 = (word) slow_multiply::return#0 // register copy zp ZP_WORD:6 - //SEG317 multiply_results_compare::@8 - //SEG318 [157] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vwuz1=vwuz2 + //SEG314 multiply_results_compare::@8 + //SEG315 [154] (word) multiply_results_compare::ms#0 ← (word) slow_multiply::return#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vwuz1=vwuz2 lda slow_multiply.return sta ms lda slow_multiply.return+1 sta ms+1 - //SEG319 [158] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuaa=vbuz1 + //SEG316 [155] (byte) multiply::a#1 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuaa=vbuz1 lda a - //SEG320 [159] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuxx=vbuz1 + //SEG317 [156] (byte) multiply::b#1 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::a#1 multiply::b#1 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) -- vbuxx=vbuz1 ldx b - //SEG321 [160] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) - //SEG322 [132] phi from multiply_results_compare::@8 to multiply [phi:multiply_results_compare::@8->multiply] - //SEG323 [132] phi (byte) multiply::b#2 = (byte) multiply::b#1 [phi:multiply_results_compare::@8->multiply#0] -- register_copy - //SEG324 [132] phi (byte) multiply::a#2 = (byte) multiply::a#1 [phi:multiply_results_compare::@8->multiply#1] -- register_copy + //SEG318 [157] call multiply param-assignment [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply::return#0 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 ] ) + //SEG319 [129] phi from multiply_results_compare::@8 to multiply [phi:multiply_results_compare::@8->multiply] + //SEG320 [129] phi (byte) multiply::b#2 = (byte) multiply::b#1 [phi:multiply_results_compare::@8->multiply#0] -- register_copy + //SEG321 [129] phi (byte) multiply::a#2 = (byte) multiply::a#1 [phi:multiply_results_compare::@8->multiply#1] -- register_copy jsr multiply - //SEG325 [161] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) + //SEG322 [158] (word) multiply::return#3 ← (word) multiply::return#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply::return#3 ] ) // (word) multiply::return#3 = (word) multiply::return#0 // register copy zp ZP_WORD:6 - //SEG326 multiply_results_compare::@9 - //SEG327 [162] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) + //SEG323 multiply_results_compare::@9 + //SEG324 [159] (word) multiply_results_compare::ma#0 ← (word) multiply::return#3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) // (word) multiply_results_compare::ma#0 = (word) multiply::return#3 // register copy zp ZP_WORD:6 - //SEG328 [163] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- vwuz1_eq_vwuz2_then_la1 + //SEG325 [160] if((word) multiply_results_compare::ms#0==(word) multiply_results_compare::ma#0) goto multiply_results_compare::@3 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- vwuz1_eq_vwuz2_then_la1 lda ms cmp ma bne !+ @@ -11573,184 +11521,184 @@ multiply_results_compare: { cmp ma+1 beq b3 !: - //SEG329 multiply_results_compare::@4 - //SEG330 [164] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- _deref_pbuc1=vbuc2 + //SEG326 multiply_results_compare::@4 + //SEG327 [161] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 ] ) -- _deref_pbuc1=vbuc2 lda #2 sta BGCOL - //SEG331 [165] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) -- vbuxx=vbuz1 + //SEG328 [162] (byte) multiply_error::a#0 ← (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::b#2 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 ] ) -- vbuxx=vbuz1 ldx a - //SEG332 [166] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) -- vbuz1=vbuz2 + //SEG329 [163] (byte) multiply_error::b#0 ← (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ms#0 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 ] ) -- vbuz1=vbuz2 lda b sta multiply_error.b - //SEG333 [167] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) + //SEG330 [164] (word) multiply_error::ms#0 ← (word) multiply_results_compare::ms#0 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::ma#0 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 ] ) // (word) multiply_error::ms#0 = (word) multiply_results_compare::ms#0 // register copy zp ZP_WORD:10 - //SEG334 [168] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 + //SEG331 [165] (word) multiply_error::ma#0 ← (word) multiply_results_compare::ma#0 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 lda ma sta multiply_error.ma lda ma+1 sta multiply_error.ma+1 - //SEG335 [169] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) - //SEG336 [179] phi from multiply_results_compare::@4 to multiply_error [phi:multiply_results_compare::@4->multiply_error] + //SEG332 [166] call multiply_error param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG333 [176] phi from multiply_results_compare::@4 to multiply_error [phi:multiply_results_compare::@4->multiply_error] jsr multiply_error - //SEG337 multiply_results_compare::@return + //SEG334 multiply_results_compare::@return breturn: - //SEG338 [170] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG335 [167] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) rts - //SEG339 multiply_results_compare::@3 + //SEG336 multiply_results_compare::@3 b3: - //SEG340 [171] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG337 [168] (byte) multiply_results_compare::b#1 ← ++ (byte) multiply_results_compare::b#2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1=_inc_vbuz1 inc b - //SEG341 [172] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1_neq_0_then_la1 + //SEG338 [169] if((byte) multiply_results_compare::b#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@2 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#1 ] ) -- vbuz1_neq_0_then_la1 lda b bne b2 - //SEG342 multiply_results_compare::@6 - //SEG343 [173] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG339 multiply_results_compare::@6 + //SEG340 [170] (byte) multiply_results_compare::a#1 ← ++ (byte) multiply_results_compare::a#6 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1=_inc_vbuz1 inc a - //SEG344 [174] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1_neq_0_then_la1 + //SEG341 [171] if((byte) multiply_results_compare::a#1!=(byte/signed byte/word/signed word) 0) goto multiply_results_compare::@1 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#1 ] ) -- vbuz1_neq_0_then_la1 lda a bne b1 - //SEG345 [175] phi from multiply_results_compare::@6 to multiply_results_compare::@7 [phi:multiply_results_compare::@6->multiply_results_compare::@7] - //SEG346 multiply_results_compare::@7 - //SEG347 [176] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) - //SEG348 [51] phi from multiply_results_compare::@7 to print_str [phi:multiply_results_compare::@7->print_str] - //SEG349 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_results_compare::@7->print_str#0] -- register_copy - //SEG350 [51] phi (byte*) print_str::str#16 = (const string) multiply_results_compare::str [phi:multiply_results_compare::@7->print_str#1] -- pbuz1=pbuc1 + //SEG342 [172] phi from multiply_results_compare::@6 to multiply_results_compare::@7 [phi:multiply_results_compare::@6->multiply_results_compare::@7] + //SEG343 multiply_results_compare::@7 + //SEG344 [173] call print_str param-assignment [ char_cursor#117 line_cursor#27 ] ( main:2::multiply_results_compare:13 [ char_cursor#117 line_cursor#27 ] ) + //SEG345 [51] phi from multiply_results_compare::@7 to print_str [phi:multiply_results_compare::@7->print_str] + //SEG346 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_results_compare::@7->print_str#0] -- register_copy + //SEG347 [51] phi (byte*) print_str::str#16 = (const string) multiply_results_compare::str [phi:multiply_results_compare::@7->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str - //SEG351 [177] phi from multiply_results_compare::@7 to multiply_results_compare::@11 [phi:multiply_results_compare::@7->multiply_results_compare::@11] - //SEG352 multiply_results_compare::@11 - //SEG353 [178] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) - //SEG354 [46] phi from multiply_results_compare::@11 to print_ln [phi:multiply_results_compare::@11->print_ln] - //SEG355 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_results_compare::@11->print_ln#0] -- register_copy - //SEG356 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_results_compare::@11->print_ln#1] -- register_copy + //SEG348 [174] phi from multiply_results_compare::@7 to multiply_results_compare::@11 [phi:multiply_results_compare::@7->multiply_results_compare::@11] + //SEG349 multiply_results_compare::@11 + //SEG350 [175] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13 [ line_cursor#1 ] ) + //SEG351 [46] phi from multiply_results_compare::@11 to print_ln [phi:multiply_results_compare::@11->print_ln] + //SEG352 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_results_compare::@11->print_ln#0] -- register_copy + //SEG353 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_results_compare::@11->print_ln#1] -- register_copy jsr print_ln jmp breturn str: .text "multiply results match!@" } -//SEG357 multiply_error +//SEG354 multiply_error multiply_error: { .label b = 2 .label ms = $a .label ma = $c - //SEG358 [180] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG359 [51] phi from multiply_error to print_str [phi:multiply_error->print_str] - //SEG360 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_error->print_str#0] -- register_copy - //SEG361 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str [phi:multiply_error->print_str#1] -- pbuz1=pbuc1 + //SEG355 [177] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::a#0 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG356 [51] phi from multiply_error to print_str [phi:multiply_error->print_str] + //SEG357 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#27 [phi:multiply_error->print_str#0] -- register_copy + //SEG358 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str [phi:multiply_error->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str - //SEG362 multiply_error::@1 - //SEG363 [181] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG359 multiply_error::@1 + //SEG360 [178] (byte) print_byte::b#3 ← (byte) multiply_error::a#0 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#3 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) // (byte) print_byte::b#3 = (byte) multiply_error::a#0 // register copy reg byte x - //SEG364 [182] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG365 [92] phi from multiply_error::@1 to print_byte [phi:multiply_error::@1->print_byte] - //SEG366 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@1->print_byte#0] -- register_copy - //SEG367 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#3 [phi:multiply_error::@1->print_byte#1] -- register_copy + //SEG361 [179] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG362 [92] phi from multiply_error::@1 to print_byte [phi:multiply_error::@1->print_byte] + //SEG363 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@1->print_byte#0] -- register_copy + //SEG364 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#3 [phi:multiply_error::@1->print_byte#1] -- register_copy jsr print_byte - //SEG368 [183] phi from multiply_error::@1 to multiply_error::@2 [phi:multiply_error::@1->multiply_error::@2] - //SEG369 multiply_error::@2 - //SEG370 [184] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG371 [51] phi from multiply_error::@2 to print_str [phi:multiply_error::@2->print_str] - //SEG372 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@2->print_str#0] -- register_copy - //SEG373 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str1 [phi:multiply_error::@2->print_str#1] -- pbuz1=pbuc1 + //SEG365 [180] phi from multiply_error::@1 to multiply_error::@2 [phi:multiply_error::@1->multiply_error::@2] + //SEG366 multiply_error::@2 + //SEG367 [181] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::b#0 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG368 [51] phi from multiply_error::@2 to print_str [phi:multiply_error::@2->print_str] + //SEG369 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@2->print_str#0] -- register_copy + //SEG370 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str1 [phi:multiply_error::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str - //SEG374 multiply_error::@3 - //SEG375 [185] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vbuxx=vbuz1 + //SEG371 multiply_error::@3 + //SEG372 [182] (byte) print_byte::b#4 ← (byte) multiply_error::b#0 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_byte::b#4 multiply_error::ms#0 multiply_error::ma#0 ] ) -- vbuxx=vbuz1 ldx b - //SEG376 [186] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG377 [92] phi from multiply_error::@3 to print_byte [phi:multiply_error::@3->print_byte] - //SEG378 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@3->print_byte#0] -- register_copy - //SEG379 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#4 [phi:multiply_error::@3->print_byte#1] -- register_copy + //SEG373 [183] call print_byte param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG374 [92] phi from multiply_error::@3 to print_byte [phi:multiply_error::@3->print_byte] + //SEG375 [92] phi (byte*) char_cursor#124 = (byte*) char_cursor#117 [phi:multiply_error::@3->print_byte#0] -- register_copy + //SEG376 [92] phi (byte) print_byte::b#5 = (byte) print_byte::b#4 [phi:multiply_error::@3->print_byte#1] -- register_copy jsr print_byte - //SEG380 [187] phi from multiply_error::@3 to multiply_error::@4 [phi:multiply_error::@3->multiply_error::@4] - //SEG381 multiply_error::@4 - //SEG382 [188] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) - //SEG383 [51] phi from multiply_error::@4 to print_str [phi:multiply_error::@4->print_str] - //SEG384 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@4->print_str#0] -- register_copy - //SEG385 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str2 [phi:multiply_error::@4->print_str#1] -- pbuz1=pbuc1 + //SEG377 [184] phi from multiply_error::@3 to multiply_error::@4 [phi:multiply_error::@3->multiply_error::@4] + //SEG378 multiply_error::@4 + //SEG379 [185] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ms#0 multiply_error::ma#0 ] ) + //SEG380 [51] phi from multiply_error::@4 to print_str [phi:multiply_error::@4->print_str] + //SEG381 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@4->print_str#0] -- register_copy + //SEG382 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str2 [phi:multiply_error::@4->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG386 multiply_error::@5 - //SEG387 [189] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 + //SEG383 multiply_error::@5 + //SEG384 [186] (word) print_word::w#3 ← (word) multiply_error::ms#0 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#3 multiply_error::ma#0 ] ) -- vwuz1=vwuz2 lda ms sta print_word.w lda ms+1 sta print_word.w+1 - //SEG388 [190] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) - //SEG389 [86] phi from multiply_error::@5 to print_word [phi:multiply_error::@5->print_word] - //SEG390 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@5->print_word#0] -- register_copy - //SEG391 [86] phi (word) print_word::w#5 = (word) print_word::w#3 [phi:multiply_error::@5->print_word#1] -- register_copy + //SEG385 [187] call print_word param-assignment [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 multiply_error::ma#0 ] ) + //SEG386 [86] phi from multiply_error::@5 to print_word [phi:multiply_error::@5->print_word] + //SEG387 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@5->print_word#0] -- register_copy + //SEG388 [86] phi (word) print_word::w#5 = (word) print_word::w#3 [phi:multiply_error::@5->print_word#1] -- register_copy jsr print_word - //SEG392 [191] phi from multiply_error::@5 to multiply_error::@6 [phi:multiply_error::@5->multiply_error::@6] - //SEG393 multiply_error::@6 - //SEG394 [192] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) - //SEG395 [51] phi from multiply_error::@6 to print_str [phi:multiply_error::@6->print_str] - //SEG396 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@6->print_str#0] -- register_copy - //SEG397 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str3 [phi:multiply_error::@6->print_str#1] -- pbuz1=pbuc1 + //SEG389 [188] phi from multiply_error::@5 to multiply_error::@6 [phi:multiply_error::@5->multiply_error::@6] + //SEG390 multiply_error::@6 + //SEG391 [189] call print_str param-assignment [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 multiply_error::ma#0 ] ) + //SEG392 [51] phi from multiply_error::@6 to print_str [phi:multiply_error::@6->print_str] + //SEG393 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_error::@6->print_str#0] -- register_copy + //SEG394 [51] phi (byte*) print_str::str#16 = (const string) multiply_error::str3 [phi:multiply_error::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 sta print_str.str+1 jsr print_str - //SEG398 multiply_error::@7 - //SEG399 [193] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) -- vwuz1=vwuz2 + //SEG395 multiply_error::@7 + //SEG396 [190] (word) print_word::w#4 ← (word) multiply_error::ma#0 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#117 line_cursor#27 print_word::w#4 ] ) -- vwuz1=vwuz2 lda ma sta print_word.w lda ma+1 sta print_word.w+1 - //SEG400 [194] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ char_cursor#17 line_cursor#27 ] ) - //SEG401 [86] phi from multiply_error::@7 to print_word [phi:multiply_error::@7->print_word] - //SEG402 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@7->print_word#0] -- register_copy - //SEG403 [86] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:multiply_error::@7->print_word#1] -- register_copy + //SEG397 [191] call print_word param-assignment [ char_cursor#17 line_cursor#27 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ char_cursor#17 line_cursor#27 ] ) + //SEG398 [86] phi from multiply_error::@7 to print_word [phi:multiply_error::@7->print_word] + //SEG399 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_error::@7->print_word#0] -- register_copy + //SEG400 [86] phi (word) print_word::w#5 = (word) print_word::w#4 [phi:multiply_error::@7->print_word#1] -- register_copy jsr print_word - //SEG404 [195] phi from multiply_error::@7 to multiply_error::@8 [phi:multiply_error::@7->multiply_error::@8] - //SEG405 multiply_error::@8 - //SEG406 [196] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) - //SEG407 [46] phi from multiply_error::@8 to print_ln [phi:multiply_error::@8->print_ln] - //SEG408 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#17 [phi:multiply_error::@8->print_ln#0] -- register_copy - //SEG409 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_error::@8->print_ln#1] -- register_copy + //SEG401 [192] phi from multiply_error::@7 to multiply_error::@8 [phi:multiply_error::@7->multiply_error::@8] + //SEG402 multiply_error::@8 + //SEG403 [193] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) + //SEG404 [46] phi from multiply_error::@8 to print_ln [phi:multiply_error::@8->print_ln] + //SEG405 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#17 [phi:multiply_error::@8->print_ln#0] -- register_copy + //SEG406 [46] phi (byte*) line_cursor#40 = (byte*) line_cursor#27 [phi:multiply_error::@8->print_ln#1] -- register_copy jsr print_ln - //SEG410 multiply_error::@return - //SEG411 [197] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:169 [ line_cursor#1 ] ) + //SEG407 multiply_error::@return + //SEG408 [194] return [ line_cursor#1 ] ( main:2::multiply_results_compare:13::multiply_error:166 [ line_cursor#1 ] ) rts str: .text "multiply mismatch @" str1: .text "*@" str2: .text " slow:@" str3: .text " / fast asm:@" } -//SEG412 slow_multiply +//SEG409 slow_multiply slow_multiply: { .label return = 6 .label m = 6 .label a = 2 - //SEG413 [198] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuz1_eq_0_then_la1 + //SEG410 [195] if((byte) slow_multiply::a#0==(byte/signed byte/word/signed word) 0) goto slow_multiply::@1 [ slow_multiply::a#0 slow_multiply::b#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 ] ) -- vbuz1_eq_0_then_la1 lda a beq b3 - //SEG414 [199] phi from slow_multiply to slow_multiply::@2 [phi:slow_multiply->slow_multiply::@2] - //SEG415 [199] phi (byte) slow_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#0] -- vbuyy=vbuc1 + //SEG411 [196] phi from slow_multiply to slow_multiply::@2 [phi:slow_multiply->slow_multiply::@2] + //SEG412 [196] phi (byte) slow_multiply::i#2 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#0] -- vbuyy=vbuc1 ldy #0 - //SEG416 [199] phi (word) slow_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#1] -- vwuz1=vbuc1 + //SEG413 [196] phi (word) slow_multiply::m#3 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@2#1] -- vwuz1=vbuc1 tya sta m sta m+1 - //SEG417 [199] phi from slow_multiply::@2 to slow_multiply::@2 [phi:slow_multiply::@2->slow_multiply::@2] - //SEG418 [199] phi (byte) slow_multiply::i#2 = (byte) slow_multiply::i#1 [phi:slow_multiply::@2->slow_multiply::@2#0] -- register_copy - //SEG419 [199] phi (word) slow_multiply::m#3 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@2#1] -- register_copy - //SEG420 slow_multiply::@2 + //SEG414 [196] phi from slow_multiply::@2 to slow_multiply::@2 [phi:slow_multiply::@2->slow_multiply::@2] + //SEG415 [196] phi (byte) slow_multiply::i#2 = (byte) slow_multiply::i#1 [phi:slow_multiply::@2->slow_multiply::@2#0] -- register_copy + //SEG416 [196] phi (word) slow_multiply::m#3 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@2#1] -- register_copy + //SEG417 slow_multiply::@2 b2: - //SEG421 [200] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) -- vwuz1=vwuz1_plus_vbuxx + //SEG418 [197] (word) slow_multiply::m#1 ← (word) slow_multiply::m#3 + (byte) slow_multiply::b#0 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::i#2 slow_multiply::m#1 ] ) -- vwuz1=vwuz1_plus_vbuxx txa clc adc m @@ -11758,125 +11706,125 @@ slow_multiply: { lda #0 adc m+1 sta m+1 - //SEG422 [201] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuyy=_inc_vbuyy + //SEG419 [198] (byte) slow_multiply::i#1 ← ++ (byte) slow_multiply::i#2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuyy=_inc_vbuyy iny - //SEG423 [202] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuyy_neq_vbuz1_then_la1 + //SEG420 [199] if((byte) slow_multiply::i#1!=(byte) slow_multiply::a#0) goto slow_multiply::@2 [ slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::a#0 slow_multiply::b#0 slow_multiply::m#1 slow_multiply::i#1 ] ) -- vbuyy_neq_vbuz1_then_la1 cpy a bne b2 - //SEG424 [203] phi from slow_multiply::@2 to slow_multiply::@1 [phi:slow_multiply::@2->slow_multiply::@1] - //SEG425 [203] phi (word) slow_multiply::return#0 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@1#0] -- register_copy + //SEG421 [200] phi from slow_multiply::@2 to slow_multiply::@1 [phi:slow_multiply::@2->slow_multiply::@1] + //SEG422 [200] phi (word) slow_multiply::return#0 = (word) slow_multiply::m#1 [phi:slow_multiply::@2->slow_multiply::@1#0] -- register_copy jmp b1 - //SEG426 [203] phi from slow_multiply to slow_multiply::@1 [phi:slow_multiply->slow_multiply::@1] + //SEG423 [200] phi from slow_multiply to slow_multiply::@1 [phi:slow_multiply->slow_multiply::@1] b3: - //SEG427 [203] phi (word) slow_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@1#0] -- vwuz1=vbuc1 + //SEG424 [200] phi (word) slow_multiply::return#0 = (byte/signed byte/word/signed word) 0 [phi:slow_multiply->slow_multiply::@1#0] -- vwuz1=vbuc1 lda #0 sta return sta return+1 - //SEG428 slow_multiply::@1 + //SEG425 slow_multiply::@1 b1: - //SEG429 slow_multiply::@return - //SEG430 [204] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:155 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) + //SEG426 slow_multiply::@return + //SEG427 [201] return [ slow_multiply::return#0 ] ( main:2::multiply_results_compare:13::slow_multiply:152 [ line_cursor#27 char_cursor#27 multiply_results_compare::a#6 multiply_results_compare::b#2 slow_multiply::return#0 ] ) rts } -//SEG431 multiply_tables_compare +//SEG428 multiply_tables_compare multiply_tables_compare: { .label asm_sqr = $a .label kc_sqr = 4 - //SEG432 [206] phi from multiply_tables_compare to multiply_tables_compare::@1 [phi:multiply_tables_compare->multiply_tables_compare::@1] - //SEG433 [206] phi (byte*) multiply_tables_compare::asm_sqr#2 = (const byte[512]) asm_mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#0] -- pbuz1=pbuc1 + //SEG429 [203] phi from multiply_tables_compare to multiply_tables_compare::@1 [phi:multiply_tables_compare->multiply_tables_compare::@1] + //SEG430 [203] phi (byte*) multiply_tables_compare::asm_sqr#2 = (const byte[512]) asm_mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#0] -- pbuz1=pbuc1 lda #asm_mul_sqr1_lo sta asm_sqr+1 - //SEG434 [206] phi (byte*) multiply_tables_compare::kc_sqr#2 = (const byte[512]) mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#1] -- pbuz1=pbuc1 + //SEG431 [203] phi (byte*) multiply_tables_compare::kc_sqr#2 = (const byte[512]) mul_sqr1_lo#0 [phi:multiply_tables_compare->multiply_tables_compare::@1#1] -- pbuz1=pbuc1 lda #mul_sqr1_lo sta kc_sqr+1 - //SEG435 [206] phi from multiply_tables_compare::@2 to multiply_tables_compare::@1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1] - //SEG436 [206] phi (byte*) multiply_tables_compare::asm_sqr#2 = (byte*) multiply_tables_compare::asm_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#0] -- register_copy - //SEG437 [206] phi (byte*) multiply_tables_compare::kc_sqr#2 = (byte*) multiply_tables_compare::kc_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#1] -- register_copy - //SEG438 multiply_tables_compare::@1 + //SEG432 [203] phi from multiply_tables_compare::@2 to multiply_tables_compare::@1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1] + //SEG433 [203] phi (byte*) multiply_tables_compare::asm_sqr#2 = (byte*) multiply_tables_compare::asm_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#0] -- register_copy + //SEG434 [203] phi (byte*) multiply_tables_compare::kc_sqr#2 = (byte*) multiply_tables_compare::kc_sqr#1 [phi:multiply_tables_compare::@2->multiply_tables_compare::@1#1] -- register_copy + //SEG435 multiply_tables_compare::@1 b1: - //SEG439 [207] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuz1_eq__deref_pbuz2_then_la1 + //SEG436 [204] if(*((byte*) multiply_tables_compare::kc_sqr#2)==*((byte*) multiply_tables_compare::asm_sqr#2)) goto multiply_tables_compare::@2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuz1_eq__deref_pbuz2_then_la1 ldy #0 lda (kc_sqr),y cmp (asm_sqr),y beq b2 - //SEG440 multiply_tables_compare::@3 - //SEG441 [208] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuc1=vbuc2 + //SEG437 multiply_tables_compare::@3 + //SEG438 [205] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word) 2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) -- _deref_pbuc1=vbuc2 lda #2 sta BGCOL - //SEG442 [209] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) - //SEG443 [51] phi from multiply_tables_compare::@3 to print_str [phi:multiply_tables_compare::@3->print_str] - //SEG444 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@3->print_str#0] -- pbuz1=pbuc1 + //SEG439 [206] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#2 ] ) + //SEG440 [51] phi from multiply_tables_compare::@3 to print_str [phi:multiply_tables_compare::@3->print_str] + //SEG441 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@3->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta char_cursor lda #>$400 sta char_cursor+1 - //SEG445 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str [phi:multiply_tables_compare::@3->print_str#1] -- pbuz1=pbuc1 + //SEG442 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str [phi:multiply_tables_compare::@3->print_str#1] -- pbuz1=pbuc1 lda #str sta print_str.str+1 jsr print_str - //SEG446 multiply_tables_compare::@6 - //SEG447 [210] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) -- vwuz1=_word_pbuz2 + //SEG443 multiply_tables_compare::@6 + //SEG444 [207] (word) print_word::w#1 ← ((word)) (byte*) multiply_tables_compare::asm_sqr#2 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#1 multiply_tables_compare::kc_sqr#2 ] ) -- vwuz1=_word_pbuz2 lda asm_sqr sta print_word.w lda asm_sqr+1 sta print_word.w+1 - //SEG448 [211] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) - //SEG449 [86] phi from multiply_tables_compare::@6 to print_word [phi:multiply_tables_compare::@6->print_word] - //SEG450 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@6->print_word#0] -- register_copy - //SEG451 [86] phi (word) print_word::w#5 = (word) print_word::w#1 [phi:multiply_tables_compare::@6->print_word#1] -- register_copy + //SEG445 [208] call print_word param-assignment [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 multiply_tables_compare::kc_sqr#2 ] ) + //SEG446 [86] phi from multiply_tables_compare::@6 to print_word [phi:multiply_tables_compare::@6->print_word] + //SEG447 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@6->print_word#0] -- register_copy + //SEG448 [86] phi (word) print_word::w#5 = (word) print_word::w#1 [phi:multiply_tables_compare::@6->print_word#1] -- register_copy jsr print_word - //SEG452 [212] phi from multiply_tables_compare::@6 to multiply_tables_compare::@7 [phi:multiply_tables_compare::@6->multiply_tables_compare::@7] - //SEG453 multiply_tables_compare::@7 - //SEG454 [213] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) - //SEG455 [51] phi from multiply_tables_compare::@7 to print_str [phi:multiply_tables_compare::@7->print_str] - //SEG456 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@7->print_str#0] -- register_copy - //SEG457 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str1 [phi:multiply_tables_compare::@7->print_str#1] -- pbuz1=pbuc1 + //SEG449 [209] phi from multiply_tables_compare::@6 to multiply_tables_compare::@7 [phi:multiply_tables_compare::@6->multiply_tables_compare::@7] + //SEG450 multiply_tables_compare::@7 + //SEG451 [210] call print_str param-assignment [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 multiply_tables_compare::kc_sqr#2 ] ) + //SEG452 [51] phi from multiply_tables_compare::@7 to print_str [phi:multiply_tables_compare::@7->print_str] + //SEG453 [51] phi (byte*) char_cursor#135 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@7->print_str#0] -- register_copy + //SEG454 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str1 [phi:multiply_tables_compare::@7->print_str#1] -- pbuz1=pbuc1 lda #str1 sta print_str.str+1 jsr print_str - //SEG458 multiply_tables_compare::@8 - //SEG459 [214] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) -- vwuz1=_word_pbuz2 + //SEG455 multiply_tables_compare::@8 + //SEG456 [211] (word) print_word::w#2 ← ((word)) (byte*) multiply_tables_compare::kc_sqr#2 [ char_cursor#117 print_word::w#2 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 print_word::w#2 ] ) -- vwuz1=_word_pbuz2 lda kc_sqr sta print_word.w lda kc_sqr+1 sta print_word.w+1 - //SEG460 [215] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) - //SEG461 [86] phi from multiply_tables_compare::@8 to print_word [phi:multiply_tables_compare::@8->print_word] - //SEG462 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@8->print_word#0] -- register_copy - //SEG463 [86] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:multiply_tables_compare::@8->print_word#1] -- register_copy + //SEG457 [212] call print_word param-assignment [ char_cursor#17 ] ( main:2::multiply_tables_compare:11 [ char_cursor#17 ] ) + //SEG458 [86] phi from multiply_tables_compare::@8 to print_word [phi:multiply_tables_compare::@8->print_word] + //SEG459 [86] phi (byte*) char_cursor#123 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@8->print_word#0] -- register_copy + //SEG460 [86] phi (word) print_word::w#5 = (word) print_word::w#2 [phi:multiply_tables_compare::@8->print_word#1] -- register_copy jsr print_word - //SEG464 [216] phi from multiply_tables_compare::@8 to multiply_tables_compare::@return [phi:multiply_tables_compare::@8->multiply_tables_compare::@return] - //SEG465 [216] phi (byte*) line_cursor#27 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#0] -- pbuz1=pbuc1 + //SEG461 [213] phi from multiply_tables_compare::@8 to multiply_tables_compare::@return [phi:multiply_tables_compare::@8->multiply_tables_compare::@return] + //SEG462 [213] phi (byte*) line_cursor#27 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#0] -- pbuz1=pbuc1 lda #<$400 sta line_cursor lda #>$400 sta line_cursor+1 - //SEG466 [216] phi (byte*) char_cursor#27 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#1] -- register_copy - //SEG467 multiply_tables_compare::@return + //SEG463 [213] phi (byte*) char_cursor#27 = (byte*) char_cursor#17 [phi:multiply_tables_compare::@8->multiply_tables_compare::@return#1] -- register_copy + //SEG464 multiply_tables_compare::@return breturn: - //SEG468 [217] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) + //SEG465 [214] return [ line_cursor#27 char_cursor#27 ] ( main:2::multiply_tables_compare:11 [ line_cursor#27 char_cursor#27 ] ) rts - //SEG469 multiply_tables_compare::@2 + //SEG466 multiply_tables_compare::@2 b2: - //SEG470 [218] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG467 [215] (byte*) multiply_tables_compare::asm_sqr#1 ← ++ (byte*) multiply_tables_compare::asm_sqr#2 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#2 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 inc asm_sqr bne !+ inc asm_sqr+1 !: - //SEG471 [219] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG468 [216] (byte*) multiply_tables_compare::kc_sqr#1 ← ++ (byte*) multiply_tables_compare::kc_sqr#2 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1=_inc_pbuz1 inc kc_sqr bne !+ inc kc_sqr+1 !: - //SEG472 [220] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1_lt_pbuc1_then_la1 + //SEG469 [217] if((byte*) multiply_tables_compare::kc_sqr#1<(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512*(byte/signed byte/word/signed word) 4) goto multiply_tables_compare::@1 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ( main:2::multiply_tables_compare:11 [ multiply_tables_compare::kc_sqr#1 multiply_tables_compare::asm_sqr#1 ] ) -- pbuz1_lt_pbuc1_then_la1 lda kc_sqr+1 cmp #>mul_sqr1_lo+$200*4 bcc b1 @@ -11885,49 +11833,49 @@ multiply_tables_compare: { cmp #multiply_tables_compare::@5] - //SEG474 multiply_tables_compare::@5 - //SEG475 [222] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) - //SEG476 [51] phi from multiply_tables_compare::@5 to print_str [phi:multiply_tables_compare::@5->print_str] - //SEG477 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@5->print_str#0] -- pbuz1=pbuc1 + //SEG470 [218] phi from multiply_tables_compare::@2 to multiply_tables_compare::@5 [phi:multiply_tables_compare::@2->multiply_tables_compare::@5] + //SEG471 multiply_tables_compare::@5 + //SEG472 [219] call print_str param-assignment [ char_cursor#117 ] ( main:2::multiply_tables_compare:11 [ char_cursor#117 ] ) + //SEG473 [51] phi from multiply_tables_compare::@5 to print_str [phi:multiply_tables_compare::@5->print_str] + //SEG474 [51] phi (byte*) char_cursor#135 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@5->print_str#0] -- pbuz1=pbuc1 lda #<$400 sta char_cursor lda #>$400 sta char_cursor+1 - //SEG478 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str2 [phi:multiply_tables_compare::@5->print_str#1] -- pbuz1=pbuc1 + //SEG475 [51] phi (byte*) print_str::str#16 = (const string) multiply_tables_compare::str2 [phi:multiply_tables_compare::@5->print_str#1] -- pbuz1=pbuc1 lda #str2 sta print_str.str+1 jsr print_str - //SEG479 [223] phi from multiply_tables_compare::@5 to multiply_tables_compare::@10 [phi:multiply_tables_compare::@5->multiply_tables_compare::@10] - //SEG480 multiply_tables_compare::@10 - //SEG481 [224] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) - //SEG482 [46] phi from multiply_tables_compare::@10 to print_ln [phi:multiply_tables_compare::@10->print_ln] - //SEG483 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@10->print_ln#0] -- register_copy - //SEG484 [46] phi (byte*) line_cursor#40 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@10->print_ln#1] -- pbuz1=pbuc1 + //SEG476 [220] phi from multiply_tables_compare::@5 to multiply_tables_compare::@10 [phi:multiply_tables_compare::@5->multiply_tables_compare::@10] + //SEG477 multiply_tables_compare::@10 + //SEG478 [221] call print_ln param-assignment [ line_cursor#1 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 ] ) + //SEG479 [46] phi from multiply_tables_compare::@10 to print_ln [phi:multiply_tables_compare::@10->print_ln] + //SEG480 [46] phi (byte*) char_cursor#118 = (byte*) char_cursor#117 [phi:multiply_tables_compare::@10->print_ln#0] -- register_copy + //SEG481 [46] phi (byte*) line_cursor#40 = ((byte*))(word/signed word) 1024 [phi:multiply_tables_compare::@10->print_ln#1] -- pbuz1=pbuc1 lda #<$400 sta line_cursor lda #>$400 sta line_cursor+1 jsr print_ln - //SEG485 [225] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) -- pbuz1=pbuz2 + //SEG482 [222] (byte*~) char_cursor#197 ← (byte*) line_cursor#1 [ line_cursor#1 char_cursor#197 ] ( main:2::multiply_tables_compare:11 [ line_cursor#1 char_cursor#197 ] ) -- pbuz1=pbuz2 lda line_cursor sta char_cursor lda line_cursor+1 sta char_cursor+1 - //SEG486 [216] phi from multiply_tables_compare::@10 to multiply_tables_compare::@return [phi:multiply_tables_compare::@10->multiply_tables_compare::@return] - //SEG487 [216] phi (byte*) line_cursor#27 = (byte*) line_cursor#1 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#0] -- register_copy - //SEG488 [216] phi (byte*) char_cursor#27 = (byte*~) char_cursor#197 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#1] -- register_copy + //SEG483 [213] phi from multiply_tables_compare::@10 to multiply_tables_compare::@return [phi:multiply_tables_compare::@10->multiply_tables_compare::@return] + //SEG484 [213] phi (byte*) line_cursor#27 = (byte*) line_cursor#1 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#0] -- register_copy + //SEG485 [213] phi (byte*) char_cursor#27 = (byte*~) char_cursor#197 [phi:multiply_tables_compare::@10->multiply_tables_compare::@return#1] -- register_copy jmp breturn str: .text "multiply table mismatch at @" str1: .text " / @" str2: .text "multiply tables match!@" } -//SEG489 init_multiply_asm +//SEG486 init_multiply_asm init_multiply_asm: { .const mem = $ff - //SEG490 asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } + //SEG487 asm { ldx#$00 txa .byte$c9 lb1: tya adc#$00 ml1: staasm_mul_sqr1_hi,x tay cmp#$40 txa ror ml9: adc#$00 staml9+1 inx ml0: staasm_mul_sqr1_lo,x bnelb1 incml0+2 incml1+2 clc iny bnelb1 ldx#$00 ldy#$ff !: ldaasm_mul_sqr1_hi+1,x staasm_mul_sqr2_hi+$100,x ldaasm_mul_sqr1_hi,x staasm_mul_sqr2_hi,y ldaasm_mul_sqr1_lo+1,x staasm_mul_sqr2_lo+$100,x ldaasm_mul_sqr1_lo,x staasm_mul_sqr2_lo,y dey inx bne!- } ldx #0 txa .byte $c9 @@ -11966,23 +11914,23 @@ init_multiply_asm: { dey inx bne !- - //SEG491 [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG488 [224] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr1_lo sta mem - //SEG492 [228] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG489 [225] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr1_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr1_hi sta mem - //SEG493 [229] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG490 [226] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_lo#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr2_lo sta mem - //SEG494 [230] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 + //SEG491 [227] *((const byte*) init_multiply_asm::mem#0) ← *((const byte[512]) asm_mul_sqr2_hi#0) [ ] ( main:2::init_multiply_asm:9 [ ] ) -- _deref_pbuc1=_deref_pbuc2 lda asm_mul_sqr2_hi sta mem - //SEG495 init_multiply_asm::@return - //SEG496 [231] return [ ] ( main:2::init_multiply_asm:9 [ ] ) + //SEG492 init_multiply_asm::@return + //SEG493 [228] return [ ] ( main:2::init_multiply_asm:9 [ ] ) rts } -//SEG497 init_multiply +//SEG494 init_multiply init_multiply: { .label sqr1_hi = 6 .label sqr = 8 @@ -11991,70 +11939,70 @@ init_multiply: { .label sqr2_hi = 6 .label sqr2_lo = 4 .label dir = 2 - //SEG498 [233] phi from init_multiply to init_multiply::@1 [phi:init_multiply->init_multiply::@1] - //SEG499 [233] phi (byte) init_multiply::x_2#3 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#0] -- vbuz1=vbuc1 + //SEG495 [230] phi from init_multiply to init_multiply::@1 [phi:init_multiply->init_multiply::@1] + //SEG496 [230] phi (byte) init_multiply::x_2#3 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#0] -- vbuz1=vbuc1 lda #0 sta x_2 - //SEG500 [233] phi (byte*) init_multiply::sqr1_hi#2 = (const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#1] -- pbuz1=pbuc1 + //SEG497 [230] phi (byte*) init_multiply::sqr1_hi#2 = (const byte[512]) mul_sqr1_hi#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#1] -- pbuz1=pbuc1 lda #mul_sqr1_hi+1 sta sqr1_hi+1 - //SEG501 [233] phi (byte*) init_multiply::sqr1_lo#2 = (const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#2] -- pbuz1=pbuc1 + //SEG498 [230] phi (byte*) init_multiply::sqr1_lo#2 = (const byte[512]) mul_sqr1_lo#0+(byte/signed byte/word/signed word) 1 [phi:init_multiply->init_multiply::@1#2] -- pbuz1=pbuc1 lda #mul_sqr1_lo+1 sta sqr1_lo+1 - //SEG502 [233] phi (word) init_multiply::sqr#4 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#3] -- vwuz1=vbuc1 + //SEG499 [230] phi (word) init_multiply::sqr#4 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#3] -- vwuz1=vbuc1 lda #0 sta sqr sta sqr+1 - //SEG503 [233] phi (byte) init_multiply::c#2 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#4] -- vbuxx=vbuc1 + //SEG500 [230] phi (byte) init_multiply::c#2 = (byte/signed byte/word/signed word) 0 [phi:init_multiply->init_multiply::@1#4] -- vbuxx=vbuc1 tax - //SEG504 [233] phi from init_multiply::@2 to init_multiply::@1 [phi:init_multiply::@2->init_multiply::@1] - //SEG505 [233] phi (byte) init_multiply::x_2#3 = (byte) init_multiply::x_2#2 [phi:init_multiply::@2->init_multiply::@1#0] -- register_copy - //SEG506 [233] phi (byte*) init_multiply::sqr1_hi#2 = (byte*) init_multiply::sqr1_hi#1 [phi:init_multiply::@2->init_multiply::@1#1] -- register_copy - //SEG507 [233] phi (byte*) init_multiply::sqr1_lo#2 = (byte*) init_multiply::sqr1_lo#1 [phi:init_multiply::@2->init_multiply::@1#2] -- register_copy - //SEG508 [233] phi (word) init_multiply::sqr#4 = (word) init_multiply::sqr#1 [phi:init_multiply::@2->init_multiply::@1#3] -- register_copy - //SEG509 [233] phi (byte) init_multiply::c#2 = (byte) init_multiply::c#1 [phi:init_multiply::@2->init_multiply::@1#4] -- register_copy - //SEG510 init_multiply::@1 + //SEG501 [230] phi from init_multiply::@2 to init_multiply::@1 [phi:init_multiply::@2->init_multiply::@1] + //SEG502 [230] phi (byte) init_multiply::x_2#3 = (byte) init_multiply::x_2#2 [phi:init_multiply::@2->init_multiply::@1#0] -- register_copy + //SEG503 [230] phi (byte*) init_multiply::sqr1_hi#2 = (byte*) init_multiply::sqr1_hi#1 [phi:init_multiply::@2->init_multiply::@1#1] -- register_copy + //SEG504 [230] phi (byte*) init_multiply::sqr1_lo#2 = (byte*) init_multiply::sqr1_lo#1 [phi:init_multiply::@2->init_multiply::@1#2] -- register_copy + //SEG505 [230] phi (word) init_multiply::sqr#4 = (word) init_multiply::sqr#1 [phi:init_multiply::@2->init_multiply::@1#3] -- register_copy + //SEG506 [230] phi (byte) init_multiply::c#2 = (byte) init_multiply::c#1 [phi:init_multiply::@2->init_multiply::@1#4] -- register_copy + //SEG507 init_multiply::@1 b1: - //SEG511 [234] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuxx=_inc_vbuxx + //SEG508 [231] (byte) init_multiply::c#1 ← ++ (byte) init_multiply::c#2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG512 [235] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 + //SEG509 [232] (byte~) init_multiply::$2 ← (byte) init_multiply::c#1 & (byte/signed byte/word/signed word) 1 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 init_multiply::$2 ] ) -- vbuaa=vbuxx_band_vbuc1 txa and #1 - //SEG513 [236] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuaa_neq_0_then_la1 + //SEG510 [233] if((byte~) init_multiply::$2!=(byte/signed byte/word/signed word) 0) goto init_multiply::@2 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::x_2#3 init_multiply::c#1 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b2 - //SEG514 init_multiply::@5 - //SEG515 [237] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG511 init_multiply::@5 + //SEG512 [234] (byte) init_multiply::x_2#1 ← ++ (byte) init_multiply::x_2#3 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr#4 init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 ] ) -- vbuz1=_inc_vbuz1 inc x_2 - //SEG516 [238] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) -- vwuz1=_inc_vwuz1 + //SEG513 [235] (word) init_multiply::sqr#2 ← ++ (word) init_multiply::sqr#4 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#1 init_multiply::sqr#2 ] ) -- vwuz1=_inc_vwuz1 inc sqr bne !+ inc sqr+1 !: - //SEG517 [239] phi from init_multiply::@1 init_multiply::@5 to init_multiply::@2 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2] - //SEG518 [239] phi (byte) init_multiply::x_2#2 = (byte) init_multiply::x_2#3 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#0] -- register_copy - //SEG519 [239] phi (word) init_multiply::sqr#3 = (word) init_multiply::sqr#4 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#1] -- register_copy - //SEG520 init_multiply::@2 + //SEG514 [236] phi from init_multiply::@1 init_multiply::@5 to init_multiply::@2 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2] + //SEG515 [236] phi (byte) init_multiply::x_2#2 = (byte) init_multiply::x_2#3 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#0] -- register_copy + //SEG516 [236] phi (word) init_multiply::sqr#3 = (word) init_multiply::sqr#4 [phi:init_multiply::@1/init_multiply::@5->init_multiply::@2#1] -- register_copy + //SEG517 init_multiply::@2 b2: - //SEG521 [240] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) -- vbuaa=_lo_vwuz1 + //SEG518 [237] (byte~) init_multiply::$5 ← < (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$5 ] ) -- vbuaa=_lo_vwuz1 lda sqr - //SEG522 [241] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuaa + //SEG519 [238] *((byte*) init_multiply::sqr1_lo#2) ← (byte~) init_multiply::$5 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (sqr1_lo),y - //SEG523 [242] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) -- vbuaa=_hi_vwuz1 + //SEG520 [239] (byte~) init_multiply::$6 ← > (word) init_multiply::sqr#3 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 init_multiply::$6 ] ) -- vbuaa=_hi_vwuz1 lda sqr+1 - //SEG524 [243] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuaa + //SEG521 [240] *((byte*) init_multiply::sqr1_hi#2) ← (byte~) init_multiply::$6 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::sqr1_hi#2 init_multiply::c#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- _deref_pbuz1=vbuaa sta (sqr1_hi),y - //SEG525 [244] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- pbuz1=_inc_pbuz1 + //SEG522 [241] (byte*) init_multiply::sqr1_hi#1 ← ++ (byte*) init_multiply::sqr1_hi#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 init_multiply::sqr#3 ] ) -- pbuz1=_inc_pbuz1 inc sqr1_hi bne !+ inc sqr1_hi+1 !: - //SEG526 [245] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- vwuz1=vwuz1_plus_vbuz2 + //SEG523 [242] (word) init_multiply::sqr#1 ← (word) init_multiply::sqr#3 + (byte) init_multiply::x_2#2 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::sqr1_lo#2 init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- vwuz1=vwuz1_plus_vbuz2 lda x_2 clc adc sqr @@ -12062,125 +12010,125 @@ init_multiply: { lda #0 adc sqr+1 sta sqr+1 - //SEG527 [246] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1=_inc_pbuz1 + //SEG524 [243] (byte*) init_multiply::sqr1_lo#1 ← ++ (byte*) init_multiply::sqr1_lo#2 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1=_inc_pbuz1 inc sqr1_lo bne !+ inc sqr1_lo+1 !: - //SEG528 [247] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG525 [244] if((byte*) init_multiply::sqr1_lo#1!=(const byte[512]) mul_sqr1_lo#0+(word/signed word) 512) goto init_multiply::@1 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ( main:2::init_multiply:7 [ init_multiply::c#1 init_multiply::sqr#1 init_multiply::sqr1_lo#1 init_multiply::sqr1_hi#1 init_multiply::x_2#2 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sqr1_lo+1 cmp #>mul_sqr1_lo+$200 bne b1 lda sqr1_lo cmp #init_multiply::@3] - //SEG530 [248] phi (byte) init_multiply::dir#2 = (byte/word/signed word) 255 [phi:init_multiply::@2->init_multiply::@3#0] -- vbuz1=vbuc1 + //SEG526 [245] phi from init_multiply::@2 to init_multiply::@3 [phi:init_multiply::@2->init_multiply::@3] + //SEG527 [245] phi (byte) init_multiply::dir#2 = (byte/word/signed word) 255 [phi:init_multiply::@2->init_multiply::@3#0] -- vbuz1=vbuc1 lda #$ff sta dir - //SEG531 [248] phi (byte*) init_multiply::sqr2_hi#2 = (const byte[512]) mul_sqr2_hi#0 [phi:init_multiply::@2->init_multiply::@3#1] -- pbuz1=pbuc1 + //SEG528 [245] phi (byte*) init_multiply::sqr2_hi#2 = (const byte[512]) mul_sqr2_hi#0 [phi:init_multiply::@2->init_multiply::@3#1] -- pbuz1=pbuc1 lda #mul_sqr2_hi sta sqr2_hi+1 - //SEG532 [248] phi (byte*) init_multiply::sqr2_lo#2 = (const byte[512]) mul_sqr2_lo#0 [phi:init_multiply::@2->init_multiply::@3#2] -- pbuz1=pbuc1 + //SEG529 [245] phi (byte*) init_multiply::sqr2_lo#2 = (const byte[512]) mul_sqr2_lo#0 [phi:init_multiply::@2->init_multiply::@3#2] -- pbuz1=pbuc1 lda #mul_sqr2_lo sta sqr2_lo+1 - //SEG533 [248] phi (byte) init_multiply::x_255#2 = ((byte))-(byte/signed byte/word/signed word) 1 [phi:init_multiply::@2->init_multiply::@3#3] -- vbuxx=vbuc1 + //SEG530 [245] phi (byte) init_multiply::x_255#2 = ((byte))-(byte/signed byte/word/signed word) 1 [phi:init_multiply::@2->init_multiply::@3#3] -- vbuxx=vbuc1 ldx #-1 - //SEG534 [248] phi from init_multiply::@4 to init_multiply::@3 [phi:init_multiply::@4->init_multiply::@3] - //SEG535 [248] phi (byte) init_multiply::dir#2 = (byte) init_multiply::dir#3 [phi:init_multiply::@4->init_multiply::@3#0] -- register_copy - //SEG536 [248] phi (byte*) init_multiply::sqr2_hi#2 = (byte*) init_multiply::sqr2_hi#1 [phi:init_multiply::@4->init_multiply::@3#1] -- register_copy - //SEG537 [248] phi (byte*) init_multiply::sqr2_lo#2 = (byte*) init_multiply::sqr2_lo#1 [phi:init_multiply::@4->init_multiply::@3#2] -- register_copy - //SEG538 [248] phi (byte) init_multiply::x_255#2 = (byte) init_multiply::x_255#1 [phi:init_multiply::@4->init_multiply::@3#3] -- register_copy - //SEG539 init_multiply::@3 + //SEG531 [245] phi from init_multiply::@4 to init_multiply::@3 [phi:init_multiply::@4->init_multiply::@3] + //SEG532 [245] phi (byte) init_multiply::dir#2 = (byte) init_multiply::dir#3 [phi:init_multiply::@4->init_multiply::@3#0] -- register_copy + //SEG533 [245] phi (byte*) init_multiply::sqr2_hi#2 = (byte*) init_multiply::sqr2_hi#1 [phi:init_multiply::@4->init_multiply::@3#1] -- register_copy + //SEG534 [245] phi (byte*) init_multiply::sqr2_lo#2 = (byte*) init_multiply::sqr2_lo#1 [phi:init_multiply::@4->init_multiply::@3#2] -- register_copy + //SEG535 [245] phi (byte) init_multiply::x_255#2 = (byte) init_multiply::x_255#1 [phi:init_multiply::@4->init_multiply::@3#3] -- register_copy + //SEG536 init_multiply::@3 b3: - //SEG540 [249] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuxx + //SEG537 [246] *((byte*) init_multiply::sqr2_lo#2) ← *((const byte[512]) mul_sqr1_lo#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuxx lda mul_sqr1_lo,x ldy #0 sta (sqr2_lo),y - //SEG541 [250] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuxx + //SEG538 [247] *((byte*) init_multiply::sqr2_hi#2) ← *((const byte[512]) mul_sqr1_hi#0 + (byte) init_multiply::x_255#2) [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::sqr2_hi#2 init_multiply::dir#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_vbuxx lda mul_sqr1_hi,x sta (sqr2_hi),y - //SEG542 [251] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG539 [248] (byte*) init_multiply::sqr2_hi#1 ← ++ (byte*) init_multiply::sqr2_hi#2 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::x_255#2 init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::sqr2_hi#1 ] ) -- pbuz1=_inc_pbuz1 inc sqr2_hi bne !+ inc sqr2_hi+1 !: - //SEG543 [252] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuxx=vbuxx_plus_vbuz1 + //SEG540 [249] (byte) init_multiply::x_255#1 ← (byte) init_multiply::x_255#2 + (byte) init_multiply::dir#2 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuxx=vbuxx_plus_vbuz1 txa clc adc dir tax - //SEG544 [253] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuxx_neq_0_then_la1 + //SEG541 [250] if((byte) init_multiply::x_255#1!=(byte/signed byte/word/signed word) 0) goto init_multiply::@12 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ( main:2::init_multiply:7 [ init_multiply::sqr2_lo#2 init_multiply::dir#2 init_multiply::x_255#1 init_multiply::sqr2_hi#1 ] ) -- vbuxx_neq_0_then_la1 cpx #0 bne b4 - //SEG545 [254] phi from init_multiply::@3 to init_multiply::@4 [phi:init_multiply::@3->init_multiply::@4] - //SEG546 [254] phi (byte) init_multiply::dir#3 = (byte/signed byte/word/signed word) 1 [phi:init_multiply::@3->init_multiply::@4#0] -- vbuz1=vbuc1 + //SEG542 [251] phi from init_multiply::@3 to init_multiply::@4 [phi:init_multiply::@3->init_multiply::@4] + //SEG543 [251] phi (byte) init_multiply::dir#3 = (byte/signed byte/word/signed word) 1 [phi:init_multiply::@3->init_multiply::@4#0] -- vbuz1=vbuc1 lda #1 sta dir - //SEG547 init_multiply::@4 + //SEG544 init_multiply::@4 b4: - //SEG548 [255] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1=_inc_pbuz1 + //SEG545 [252] (byte*) init_multiply::sqr2_lo#1 ← ++ (byte*) init_multiply::sqr2_lo#2 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1=_inc_pbuz1 inc sqr2_lo bne !+ inc sqr2_lo+1 !: - //SEG549 [256] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG546 [253] if((byte*) init_multiply::sqr2_lo#1!=(const byte[512]) mul_sqr2_lo#0+(word/signed word) 511) goto init_multiply::@3 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ( main:2::init_multiply:7 [ init_multiply::x_255#1 init_multiply::sqr2_lo#1 init_multiply::sqr2_hi#1 init_multiply::dir#3 ] ) -- pbuz1_neq_pbuc1_then_la1 lda sqr2_lo+1 cmp #>mul_sqr2_lo+$1ff bne b3 lda sqr2_lo cmp #init_multiply::@12] - //SEG556 init_multiply::@12 - //SEG557 [254] phi from init_multiply::@12 to init_multiply::@4 [phi:init_multiply::@12->init_multiply::@4] - //SEG558 [254] phi (byte) init_multiply::dir#3 = (byte) init_multiply::dir#2 [phi:init_multiply::@12->init_multiply::@4#0] -- register_copy + //SEG552 [257] phi from init_multiply::@3 to init_multiply::@12 [phi:init_multiply::@3->init_multiply::@12] + //SEG553 init_multiply::@12 + //SEG554 [251] phi from init_multiply::@12 to init_multiply::@4 [phi:init_multiply::@12->init_multiply::@4] + //SEG555 [251] phi (byte) init_multiply::dir#3 = (byte) init_multiply::dir#2 [phi:init_multiply::@12->init_multiply::@4#0] -- register_copy } -//SEG559 print_cls +//SEG556 print_cls print_cls: { .label sc = 4 - //SEG560 [262] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] - //SEG561 [262] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 + //SEG557 [259] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] + //SEG558 [259] phi (byte*) print_cls::sc#2 = ((byte*))(word/signed word) 1024 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 lda #<$400 sta sc lda #>$400 sta sc+1 - //SEG562 [262] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] - //SEG563 [262] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy - //SEG564 print_cls::@1 + //SEG559 [259] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG560 [259] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG561 print_cls::@1 b1: - //SEG565 [263] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG562 [260] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:5 [ print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG566 [264] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG563 [261] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG567 [265] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_vwuc1_then_la1 + //SEG564 [262] if((byte*) print_cls::sc#1!=(word/signed word) 1024+(word/signed word) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:5 [ print_cls::sc#1 ] ) -- pbuz1_neq_vwuc1_then_la1 lda sc+1 cmp #>$400+$3e8 bne b1 lda sc cmp #<$400+$3e8 bne b1 - //SEG568 print_cls::@return - //SEG569 [266] return [ ] ( main:2::print_cls:5 [ ] ) + //SEG565 print_cls::@return + //SEG566 [263] return [ ] ( main:2::print_cls:5 [ ] ) rts } .align $100 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.sym b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.sym index 46ae7d5ff..da008e84f 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/test-multiply.sym @@ -95,13 +95,13 @@ (word()) multiply((byte) multiply::a , (byte) multiply::b) (label) multiply::@return (byte) multiply::a -(byte) multiply::a#0 reg byte a 2.0 (byte) multiply::a#1 reg byte a 101.0 (byte) multiply::a#2 reg byte a 105.0 +(byte~) multiply::a#4 reg byte a 2.0 (byte) multiply::b -(byte) multiply::b#0 reg byte x 4.0 (byte) multiply::b#1 reg byte x 202.0 (byte) multiply::b#2 reg byte x 52.5 +(byte~) multiply::b#4 reg byte x 4.0 (byte*) multiply::memA (const byte*) multiply::memA#0 memA = ((byte*))(byte/word/signed word) 254 (byte*) multiply::memB @@ -179,12 +179,12 @@ (label) print_byte::@1 (label) print_byte::@return (byte) print_byte::b -(byte) print_byte::b#0 reg byte x 4.0 (byte) print_byte::b#1 reg byte x 4.0 (byte) print_byte::b#2 reg byte x 4.0 (byte) print_byte::b#3 reg byte x 4.0 (byte) print_byte::b#4 reg byte x 4.0 (byte) print_byte::b#5 reg byte x 3.5 +(byte~) print_byte::b#9 reg byte x 4.0 (byte[]) print_byte::hextab (const string) print_byte::hextab#0 hextab = (string) "0123456789abcdef" (void()) print_char((byte) print_char::ch) @@ -212,7 +212,7 @@ (signed byte) print_sbyte::b#1 reg byte x 4.0 (signed byte) print_sbyte::b#2 reg byte x 4.0 (signed byte) print_sbyte::b#3 reg byte x 2.5 -(signed byte) print_sbyte::b#4 reg byte x 6.0 +(signed byte) print_sbyte::b#4 reg byte x 4.0 (void()) print_str((byte*) print_str::str) (label) print_str::@1 (label) print_str::@2 @@ -231,24 +231,22 @@ (signed word) print_sword::w#1 w zp ZP_WORD:6 4.0 (signed word) print_sword::w#2 w zp ZP_WORD:6 4.0 (signed word) print_sword::w#3 w zp ZP_WORD:6 2.5 -(signed word) print_sword::w#4 w zp ZP_WORD:6 6.0 +(signed word) print_sword::w#4 w zp ZP_WORD:6 4.0 (void()) print_word((word) print_word::w) (label) print_word::@1 (label) print_word::@return (word) print_word::w -(word) print_word::w#0 w zp ZP_WORD:6 4.0 (word) print_word::w#1 w zp ZP_WORD:6 4.0 +(word~) print_word::w#11 w zp ZP_WORD:6 4.0 (word) print_word::w#2 w zp ZP_WORD:6 4.0 (word) print_word::w#3 w zp ZP_WORD:6 4.0 (word) print_word::w#4 w zp ZP_WORD:6 4.0 (word) print_word::w#5 w zp ZP_WORD:6 4.666666666666666 (signed word()) signed_multiply((signed byte) signed_multiply::a , (signed byte) signed_multiply::b) -(byte~) signed_multiply::$12 reg byte a 2.0 -(byte~) signed_multiply::$13 $13 zp ZP_BYTE:14 4.0 +(byte~) signed_multiply::$12 reg byte a 4.0 (byte/signed byte/word/signed word~) signed_multiply::$16 reg byte a 4.0 (byte/signed byte/word/signed word~) signed_multiply::$17 reg byte a 4.0 -(byte~) signed_multiply::$6 reg byte a 2.0 -(byte~) signed_multiply::$7 reg byte x 4.0 +(byte~) signed_multiply::$6 reg byte a 4.0 (label) signed_multiply::@1 (label) signed_multiply::@2 (label) signed_multiply::@3 @@ -256,17 +254,16 @@ (label) signed_multiply::@6 (label) signed_multiply::@return (signed byte) signed_multiply::a -(signed byte) signed_multiply::a#0 reg byte y 7.133333333333335 +(signed byte) signed_multiply::a#0 reg byte y 7.357142857142858 (signed byte) signed_multiply::b -(signed byte) signed_multiply::b#0 b zp ZP_BYTE:3 8.916666666666664 +(signed byte) signed_multiply::b#0 b zp ZP_BYTE:3 9.363636363636363 (word) signed_multiply::m -(word) signed_multiply::m#0 m zp ZP_WORD:6 1.6 +(word) signed_multiply::m#0 m zp ZP_WORD:6 2.0 (word) signed_multiply::m#1 m zp ZP_WORD:6 4.0 (word) signed_multiply::m#2 m zp ZP_WORD:6 4.0 -(word) signed_multiply::m#4 m zp ZP_WORD:6 6.0 -(word) signed_multiply::m#5 m zp ZP_WORD:6 2.0 +(word) signed_multiply::m#4 m zp ZP_WORD:6 1.3333333333333333 +(word) signed_multiply::m#5 m zp ZP_WORD:6 2.5 (signed word) signed_multiply::return -(signed word) signed_multiply::return#0 return zp ZP_WORD:6 34.33333333333333 (signed word) signed_multiply::return#2 return zp ZP_WORD:6 202.0 (void()) signed_multiply_error((signed byte) signed_multiply_error::a , (signed byte) signed_multiply_error::b , (signed word) signed_multiply_error::ms , (signed word) signed_multiply_error::ma) (label) signed_multiply_error::@1 @@ -357,13 +354,13 @@ zp ZP_BYTE:2 [ signed_multiply_results_compare::a#6 signed_multiply_results_compare::a#1 multiply_results_compare::a#6 multiply_results_compare::a#1 init_multiply::x_2#3 init_multiply::x_2#2 init_multiply::x_2#1 init_multiply::dir#2 init_multiply::dir#3 slow_signed_multiply::a#0 signed_multiply_error::b#0 slow_multiply::a#0 multiply_error::b#0 ] zp ZP_BYTE:3 [ signed_multiply_results_compare::b#2 signed_multiply_results_compare::b#1 multiply_results_compare::b#2 multiply_results_compare::b#1 signed_multiply::b#0 ] zp ZP_WORD:4 [ line_cursor#20 line_cursor#40 line_cursor#27 line_cursor#1 multiply_tables_compare::kc_sqr#2 multiply_tables_compare::kc_sqr#1 init_multiply::sqr1_lo#2 init_multiply::sqr1_lo#1 init_multiply::sqr2_lo#2 init_multiply::sqr2_lo#1 print_cls::sc#2 print_cls::sc#1 ] -zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#0 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 signed_multiply::return#0 multiply::return#0 slow_multiply::return#2 multiply::return#3 multiply_results_compare::ma#0 ] -reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#0 print_byte::b#1 print_byte::b#2 ] +zp ZP_WORD:6 [ print_str::str#14 print_str::str#16 print_str::str#0 print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 signed_multiply::m#4 signed_multiply::m#5 signed_multiply::m#1 signed_multiply::m#0 signed_multiply::m#2 slow_signed_multiply::m#5 slow_signed_multiply::return#0 slow_signed_multiply::m#3 slow_signed_multiply::m#1 slow_signed_multiply::m#2 slow_multiply::return#0 slow_multiply::m#3 slow_multiply::m#1 init_multiply::sqr1_hi#2 init_multiply::sqr1_hi#1 init_multiply::sqr2_hi#2 init_multiply::sqr2_hi#1 slow_signed_multiply::return#2 signed_multiply::return#2 signed_multiply_results_compare::ma#0 multiply::return#2 multiply::return#0 slow_multiply::return#2 multiply::return#3 multiply_results_compare::ma#0 ] +reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] zp ZP_WORD:8 [ char_cursor#75 char_cursor#124 char_cursor#123 char_cursor#119 char_cursor#135 char_cursor#27 char_cursor#118 char_cursor#17 char_cursor#117 char_cursor#172 char_cursor#176 char_cursor#1 char_cursor#121 char_cursor#197 init_multiply::sqr#3 init_multiply::sqr#4 init_multiply::sqr#1 init_multiply::sqr#2 signed_multiply_results_compare::ms#0 ] reg byte x [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] -reg byte a [ multiply::a#2 multiply::a#1 multiply::a#0 ] -reg byte x [ multiply::b#2 multiply::b#1 multiply::b#0 ] +reg byte a [ multiply::a#2 multiply::a#1 multiply::a#4 ] +reg byte x [ multiply::b#2 multiply::b#1 multiply::b#4 ] reg byte y [ slow_signed_multiply::i#2 slow_signed_multiply::i#1 ] reg byte y [ slow_signed_multiply::j#2 slow_signed_multiply::j#1 ] reg byte y [ slow_multiply::i#2 slow_multiply::i#1 ] @@ -377,10 +374,8 @@ zp ZP_WORD:12 [ signed_multiply_error::ma#0 multiply_error::ma#0 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] reg byte a [ signed_multiply::$6 ] -reg byte x [ signed_multiply::$7 ] reg byte a [ signed_multiply::$16 ] reg byte a [ signed_multiply::$12 ] -zp ZP_BYTE:14 [ signed_multiply::$13 ] reg byte a [ signed_multiply::$17 ] reg byte x [ slow_multiply::b#0 ] reg byte x [ multiply_error::a#0 ]