diff --git a/compiler/rustc_codegen_llvm/src/coverageinfo/map_data.rs b/compiler/rustc_codegen_llvm/src/coverageinfo/map_data.rs index 9f7165e13d0ca..048459ee8cf0f 100644 --- a/compiler/rustc_codegen_llvm/src/coverageinfo/map_data.rs +++ b/compiler/rustc_codegen_llvm/src/coverageinfo/map_data.rs @@ -1,6 +1,6 @@ use crate::coverageinfo::ffi::{Counter, CounterExpression, ExprKind}; -use rustc_data_structures::fx::FxIndexSet; +use rustc_data_structures::fx::FxHashMap; use rustc_index::IndexVec; use rustc_middle::mir::coverage::{CodeRegion, CounterId, ExpressionId, Op, Operand}; use rustc_middle::ty::Instance; @@ -153,24 +153,25 @@ impl<'tcx> FunctionCoverage<'tcx> { /// Perform some simplifications to make the final coverage mappings /// slightly smaller. pub(crate) fn simplify_expressions(&mut self) { - // The set of expressions that either were optimized out entirely, or - // have zero as both of their operands, and will therefore always have - // a value of zero. Other expressions that refer to these as operands - // can have those operands replaced with `Operand::Zero`. - let mut zero_expressions = FxIndexSet::default(); - - // If an operand refers to an expression that is always zero, then - // that operand can be replaced with `Operand::Zero`. - let maybe_set_operand_to_zero = - |zero_expressions: &FxIndexSet, operand: &mut Operand| match &*operand { - Operand::Expression(id) if zero_expressions.contains(id) => { - *operand = Operand::Zero; + // The set of expressions that were simplified to either `Zero` or a + // `Counter`. Other expressions that refer to these as operands + // can then also be simplified. + let mut simplified_expressions = FxHashMap::default(); + type SimplifiedExpressions = FxHashMap; + + // If an operand refers to an expression that has been simplified, then + // replace that operand with the simplified version. + let maybe_simplify_operand = |simplified_expressions: &SimplifiedExpressions, + operand: &mut Operand| { + if let Operand::Expression(id) = &*operand { + if let Some(simplified) = simplified_expressions.get(id) { + *operand = *simplified; } - _ => (), - }; + } + }; // For each expression, perform simplifications based on lower-numbered - // expressions, and then update the set of always-zero expressions if + // expressions, and then update the map of simplified expressions if // necessary. // (By construction, expressions can only refer to other expressions // that have lower IDs, so one simplification pass is sufficient.) @@ -178,12 +179,12 @@ impl<'tcx> FunctionCoverage<'tcx> { let Some(expression) = maybe_expression else { // If an expression is missing, it must have been optimized away, // so any operand that refers to it can be replaced with zero. - zero_expressions.insert(id); + simplified_expressions.insert(id, Operand::Zero); continue; }; - maybe_set_operand_to_zero(&zero_expressions, &mut expression.lhs); - maybe_set_operand_to_zero(&zero_expressions, &mut expression.rhs); + maybe_simplify_operand(&simplified_expressions, &mut expression.lhs); + maybe_simplify_operand(&simplified_expressions, &mut expression.rhs); // Coverage counter values cannot be negative, so if an expression // involves subtraction from zero, assume that its RHS must also be zero. @@ -192,18 +193,29 @@ impl<'tcx> FunctionCoverage<'tcx> { expression.rhs = Operand::Zero; } - // After the above simplifications, if both operands are zero, then - // we know that this expression is always zero too. - if let Expression { lhs: Operand::Zero, rhs: Operand::Zero, .. } = expression { - zero_expressions.insert(id); + // After the above simplifications, if the right hand operand is zero, + // we can replace the expression by its left hand side. + if let Expression { lhs, rhs: Operand::Zero, .. } = expression { + simplified_expressions.insert(id, *lhs); } } // Do the same simplification for each side of a branch region. for branch in &mut self.branches { - maybe_set_operand_to_zero(&zero_expressions, &mut branch.true_); - maybe_set_operand_to_zero(&zero_expressions, &mut branch.false_); + maybe_simplify_operand(&simplified_expressions, &mut branch.true_); + maybe_simplify_operand(&simplified_expressions, &mut branch.false_); + } + } + + /// This will further simplify any `Operand::Expression`, + /// "inlining" the left hand side operand if the right hand side is `Zero`. + fn simplified_expression(&self, id: ExpressionId) -> Counter { + if let Some(expr) = &self.expressions[id] { + if expr.rhs == Operand::Zero { + return Counter::from_operand(expr.lhs); + } } + Counter::expression(id) } /// Return the source hash, generated from the HIR node structure, and used to indicate whether @@ -246,7 +258,7 @@ impl<'tcx> FunctionCoverage<'tcx> { self.expressions.iter_enumerated().filter_map(|(id, expression)| { let region = expression.as_ref()?.region.as_ref()?; Some(CoverageCounterAndRegion { - kind: CoverageCounterKind::Counter(Counter::expression(id)), + kind: CoverageCounterKind::Counter(self.simplified_expression(id)), region, }) }); diff --git a/tests/coverage-map/status-quo/async2.cov-map b/tests/coverage-map/status-quo/async2.cov-map index 5eb74ca72a0c3..c8b1062dde531 100644 --- a/tests/coverage-map/status-quo/async2.cov-map +++ b/tests/coverage-map/status-quo/async2.cov-map @@ -40,15 +40,13 @@ Number of file 0 mappings: 1 - Code(Counter(0)) at (prev + 31, 36) to (start + 2, 2) Function name: async2::executor::block_on:: -Raw bytes (51): 0x[01, 01, 05, 0b, 05, 01, 05, 01, 05, 02, 00, 02, 00, 07, 01, 33, 05, 0a, 36, 20, 05, 02, 0d, 14, 00, 24, 02, 00, 20, 00, 23, 0b, 00, 27, 00, 49, 0f, 01, 17, 00, 1a, 05, 01, 0e, 00, 0f, 13, 02, 05, 00, 06] +Raw bytes (47): 0x[01, 01, 03, 0b, 05, 01, 05, 01, 05, 07, 01, 33, 05, 0a, 36, 20, 05, 02, 0d, 14, 00, 24, 02, 00, 20, 00, 23, 0b, 00, 27, 00, 49, 02, 01, 17, 00, 1a, 05, 01, 0e, 00, 0f, 02, 02, 05, 00, 06] Number of files: 1 - file 0 => global file 1 -Number of expressions: 5 +Number of expressions: 3 - expression 0 operands: lhs = Expression(2, Add), rhs = Counter(1) - expression 1 operands: lhs = Counter(0), rhs = Counter(1) - expression 2 operands: lhs = Counter(0), rhs = Counter(1) -- expression 3 operands: lhs = Expression(0, Sub), rhs = Zero -- expression 4 operands: lhs = Expression(0, Sub), rhs = Zero Number of file 0 mappings: 7 - Code(Counter(0)) at (prev + 51, 5) to (start + 10, 54) - Branch { true: Counter(1), false: Expression(0, Sub) } at (prev + 13, 20) to (start + 0, 36) @@ -57,22 +55,20 @@ Number of file 0 mappings: 7 = ((c0 + c1) - c1) - Code(Expression(2, Add)) at (prev + 0, 39) to (start + 0, 73) = (c0 + c1) -- Code(Expression(3, Add)) at (prev + 1, 23) to (start + 0, 26) - = (((c0 + c1) - c1) + Zero) +- Code(Expression(0, Sub)) at (prev + 1, 23) to (start + 0, 26) + = ((c0 + c1) - c1) - Code(Counter(1)) at (prev + 1, 14) to (start + 0, 15) -- Code(Expression(4, Add)) at (prev + 2, 5) to (start + 0, 6) - = (((c0 + c1) - c1) + Zero) +- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6) + = ((c0 + c1) - c1) Function name: async2::executor::block_on:: -Raw bytes (51): 0x[01, 01, 05, 0b, 05, 01, 05, 01, 05, 02, 00, 02, 00, 07, 01, 33, 05, 0a, 36, 20, 05, 02, 0d, 14, 00, 24, 02, 00, 20, 00, 23, 0b, 00, 27, 00, 49, 0f, 01, 17, 00, 1a, 05, 01, 0e, 00, 0f, 13, 02, 05, 00, 06] +Raw bytes (47): 0x[01, 01, 03, 0b, 05, 01, 05, 01, 05, 07, 01, 33, 05, 0a, 36, 20, 05, 02, 0d, 14, 00, 24, 02, 00, 20, 00, 23, 0b, 00, 27, 00, 49, 02, 01, 17, 00, 1a, 05, 01, 0e, 00, 0f, 02, 02, 05, 00, 06] Number of files: 1 - file 0 => global file 1 -Number of expressions: 5 +Number of expressions: 3 - expression 0 operands: lhs = Expression(2, Add), rhs = Counter(1) - expression 1 operands: lhs = Counter(0), rhs = Counter(1) - expression 2 operands: lhs = Counter(0), rhs = Counter(1) -- expression 3 operands: lhs = Expression(0, Sub), rhs = Zero -- expression 4 operands: lhs = Expression(0, Sub), rhs = Zero Number of file 0 mappings: 7 - Code(Counter(0)) at (prev + 51, 5) to (start + 10, 54) - Branch { true: Counter(1), false: Expression(0, Sub) } at (prev + 13, 20) to (start + 0, 36) @@ -81,11 +77,11 @@ Number of file 0 mappings: 7 = ((c0 + c1) - c1) - Code(Expression(2, Add)) at (prev + 0, 39) to (start + 0, 73) = (c0 + c1) -- Code(Expression(3, Add)) at (prev + 1, 23) to (start + 0, 26) - = (((c0 + c1) - c1) + Zero) +- Code(Expression(0, Sub)) at (prev + 1, 23) to (start + 0, 26) + = ((c0 + c1) - c1) - Code(Counter(1)) at (prev + 1, 14) to (start + 0, 15) -- Code(Expression(4, Add)) at (prev + 2, 5) to (start + 0, 6) - = (((c0 + c1) - c1) + Zero) +- Code(Expression(0, Sub)) at (prev + 2, 5) to (start + 0, 6) + = ((c0 + c1) - c1) Function name: async2::executor::block_on::VTABLE::{closure#0} Raw bytes (9): 0x[01, 01, 00, 01, 01, 37, 11, 00, 33] @@ -128,16 +124,14 @@ Number of file 0 mappings: 1 - Code(Counter(0)) at (prev + 35, 1) to (start + 7, 2) Function name: async2::non_async_func -Raw bytes (33): 0x[01, 01, 01, 05, 00, 05, 01, 09, 01, 03, 09, 20, 05, 00, 03, 08, 00, 09, 05, 00, 0a, 02, 06, 00, 02, 06, 00, 07, 03, 01, 01, 00, 02] +Raw bytes (31): 0x[01, 01, 00, 05, 01, 09, 01, 03, 09, 20, 05, 00, 03, 08, 00, 09, 05, 00, 0a, 02, 06, 00, 02, 06, 00, 07, 05, 01, 01, 00, 02] Number of files: 1 - file 0 => global file 1 -Number of expressions: 1 -- expression 0 operands: lhs = Counter(1), rhs = Zero +Number of expressions: 0 Number of file 0 mappings: 5 - Code(Counter(0)) at (prev + 9, 1) to (start + 3, 9) - Branch { true: Counter(1), false: Zero } at (prev + 3, 8) to (start + 0, 9) - Code(Counter(1)) at (prev + 0, 10) to (start + 2, 6) - Code(Zero) at (prev + 2, 6) to (start + 0, 7) -- Code(Expression(0, Add)) at (prev + 1, 1) to (start + 0, 2) - = (c1 + Zero) +- Code(Counter(1)) at (prev + 1, 1) to (start + 0, 2) diff --git a/tests/coverage-map/status-quo/conditions.cov-map b/tests/coverage-map/status-quo/conditions.cov-map index 65ca2222ff190..cee1535734df2 100644 --- a/tests/coverage-map/status-quo/conditions.cov-map +++ b/tests/coverage-map/status-quo/conditions.cov-map @@ -1,132 +1,102 @@ Function name: conditions::main -Raw bytes (891): 0x[01, 01, 7c, 09, 33, 2d, 31, 05, 00, ef, 03, 09, 05, 00, ef, 03, 09, 05, 00, ea, 03, 0d, ef, 03, 09, 05, 00, 0d, 39, 0d, 39, 2d, 31, ea, 03, 0d, ef, 03, 09, 05, 00, 03, 00, 35, 00, 8f, 01, 3d, 35, 00, 8f, 01, 3d, 35, 00, 8a, 01, 29, 8f, 01, 3d, 35, 00, 8a, 01, 29, 8f, 01, 3d, 35, 00, 86, 01, 51, 8a, 01, 29, 8f, 01, 3d, 35, 00, 86, 01, 51, 8a, 01, 29, 8f, 01, 3d, 35, 00, 45, 49, 3d, 9b, 01, 45, 49, 55, 00, e7, 01, 59, 55, 00, e7, 01, 59, 55, 00, e2, 01, 25, e7, 01, 59, 55, 00, e2, 01, 25, e7, 01, 59, 55, 00, de, 01, 79, e2, 01, 25, e7, 01, 59, 55, 00, de, 01, 79, e2, 01, 25, e7, 01, 59, 55, 00, 5d, 61, f3, 01, 00, 59, f7, 01, 5d, 61, 6d, c3, 03, 71, 75, 65, 00, cb, 02, 6d, 65, 00, cb, 02, 6d, 65, 00, c6, 02, 21, cb, 02, 6d, 65, 00, c6, 02, 21, cb, 02, 6d, 65, 00, c2, 02, 7d, c6, 02, 21, cb, 02, 6d, 65, 00, c2, 02, 7d, c6, 02, 21, cb, 02, 6d, 65, 00, 71, 75, 11, d3, 03, 15, 19, bf, 03, 00, 6d, c3, 03, 71, 75, bf, 03, 11, 6d, c3, 03, 71, 75, bf, 03, 11, 6d, c3, 03, 71, 75, ba, 03, 1d, bf, 03, 11, 6d, c3, 03, 71, 75, ba, 03, 1d, bf, 03, 11, 6d, c3, 03, 71, 75, b6, 03, 89, 01, ba, 03, 1d, bf, 03, 11, 6d, c3, 03, 71, 75, b6, 03, 89, 01, ba, 03, 1d, bf, 03, 11, 6d, c3, 03, 71, 75, 15, 19, cf, 03, d7, 03, 11, d3, 03, 15, 19, db, 03, e6, 03, df, 03, e3, 03, 1d, 21, 25, 29, ea, 03, 0d, ef, 03, 09, 05, 00, 5d, 01, 03, 01, 02, 0c, 20, 05, 00, 02, 08, 00, 0c, 05, 00, 0d, 02, 06, 00, 02, 06, 00, 07, 03, 03, 09, 00, 0a, ef, 03, 00, 10, 00, 1d, 20, 09, ea, 03, 00, 10, 00, 1d, 09, 01, 09, 01, 0a, ea, 03, 02, 0f, 00, 1c, 20, 0d, e6, 03, 00, 0f, 00, 1c, 0d, 01, 0c, 00, 19, 20, 39, 2e, 00, 0c, 00, 2a, 20, 2d, 31, 00, 0c, 00, 3c, 2e, 00, 1d, 00, 2a, 41, 00, 2e, 00, 3c, 2d, 00, 3d, 02, 0a, 31, 02, 0a, 00, 0b, 33, 01, 09, 01, 12, e6, 03, 03, 09, 00, 0f, 43, 03, 09, 01, 0c, 20, 35, 00, 01, 08, 00, 0c, 35, 00, 0d, 02, 06, 00, 02, 06, 00, 07, 8f, 01, 02, 08, 00, 15, 20, 3d, 8a, 01, 00, 08, 00, 15, 3d, 00, 16, 02, 06, 8a, 01, 02, 0f, 00, 1c, 20, 86, 01, 29, 00, 0f, 00, 1c, 86, 01, 01, 0c, 00, 19, 20, 51, 82, 01, 00, 0c, 00, 2a, 20, 45, 49, 00, 0c, 00, 3c, 82, 01, 00, 1d, 00, 2a, 69, 00, 2e, 00, 3c, 45, 00, 3d, 02, 0a, 49, 02, 0a, 00, 0b, 9b, 01, 01, 09, 00, 17, 29, 02, 09, 00, 0f, 97, 01, 03, 08, 00, 0c, 20, 4d, 00, 00, 08, 00, 0c, 4d, 01, 0d, 01, 10, 20, 55, 00, 01, 0c, 00, 10, 55, 00, 11, 02, 0a, 00, 02, 0a, 00, 0b, e7, 01, 02, 0c, 00, 19, 20, 59, e2, 01, 00, 0c, 00, 19, 59, 00, 1a, 02, 0a, e2, 01, 03, 11, 00, 1e, 20, de, 01, 25, 00, 11, 00, 1e, de, 01, 01, 10, 00, 1d, 20, 79, da, 01, 00, 10, 00, 2e, 20, 5d, 61, 00, 10, 00, 40, da, 01, 00, 21, 00, 2e, 81, 01, 00, 32, 00, 40, 5d, 00, 41, 02, 0e, 61, 02, 0e, 00, 0f, f7, 01, 01, 0d, 00, 1b, 25, 02, 0d, 00, 13, 00, 02, 06, 00, 07, ef, 01, 03, 09, 01, 0c, 20, 65, 00, 01, 08, 00, 0c, 65, 00, 0d, 02, 06, 00, 02, 06, 00, 07, bf, 03, 02, 09, 00, 0a, cb, 02, 00, 10, 00, 1d, 20, 6d, c6, 02, 00, 10, 00, 1d, 6d, 00, 1e, 02, 06, c6, 02, 02, 0f, 00, 1c, 20, c2, 02, 21, 00, 0f, 00, 1c, c2, 02, 01, 0c, 00, 19, 20, 7d, be, 02, 00, 0c, 00, 2a, 20, 71, 75, 00, 0c, 00, 3c, be, 02, 00, 1d, 00, 2a, 85, 01, 00, 2e, 00, 3c, 71, 00, 3d, 02, 0a, 75, 02, 0a, 00, 0b, c3, 03, 01, 09, 00, 17, 21, 02, 0d, 02, 0f, cf, 03, 05, 09, 00, 0a, db, 02, 00, 10, 00, 1d, 20, 11, ba, 03, 00, 10, 00, 1d, 11, 00, 1e, 02, 06, ba, 03, 02, 0f, 00, 1c, 20, b6, 03, 1d, 00, 0f, 00, 1c, b6, 03, 01, 0c, 00, 19, 20, 89, 01, b2, 03, 00, 0c, 00, 2a, 20, 15, 19, 00, 0c, 00, 3c, b2, 03, 00, 1d, 00, 2a, 8d, 01, 00, 2e, 00, 3c, 15, 00, 3d, 02, 0a, 19, 02, 0a, 00, 0b, d3, 03, 01, 09, 00, 17, 1d, 02, 09, 00, 0f, cb, 03, 02, 01, 00, 02] +Raw bytes (787): 0x[01, 01, 5e, 09, 23, 2d, 31, 05, 09, 05, 09, f6, 02, 0d, 05, 09, 0d, 39, 0d, 39, 2d, 31, f6, 02, 0d, 05, 09, 35, 3d, 35, 3d, 5a, 29, 35, 3d, 5a, 29, 35, 3d, 56, 51, 5a, 29, 35, 3d, 56, 51, 5a, 29, 35, 3d, 45, 49, 3d, 67, 45, 49, 55, 59, 55, 59, 96, 01, 25, 55, 59, 96, 01, 25, 55, 59, 92, 01, 79, 96, 01, 25, 55, 59, 92, 01, 79, 96, 01, 25, 55, 59, 5d, 61, 59, a3, 01, 5d, 61, 6d, cf, 02, 71, 75, 65, 6d, 65, 6d, da, 01, 21, 65, 6d, da, 01, 21, 65, 6d, d6, 01, 7d, da, 01, 21, 65, 6d, d6, 01, 7d, da, 01, 21, 65, 6d, 71, 75, 11, df, 02, 15, 19, 6d, cf, 02, 71, 75, cb, 02, 11, 6d, cf, 02, 71, 75, cb, 02, 11, 6d, cf, 02, 71, 75, c6, 02, 1d, cb, 02, 11, 6d, cf, 02, 71, 75, c6, 02, 1d, cb, 02, 11, 6d, cf, 02, 71, 75, c2, 02, 89, 01, c6, 02, 1d, cb, 02, 11, 6d, cf, 02, 71, 75, c2, 02, 89, 01, c6, 02, 1d, cb, 02, 11, 6d, cf, 02, 71, 75, 15, 19, db, 02, e3, 02, 11, df, 02, 15, 19, e7, 02, f2, 02, eb, 02, ef, 02, 1d, 21, 25, 29, f6, 02, 0d, 05, 09, 5d, 01, 03, 01, 02, 0c, 20, 05, 00, 02, 08, 00, 0c, 05, 00, 0d, 02, 06, 00, 02, 06, 00, 07, 03, 03, 09, 00, 0a, 05, 00, 10, 00, 1d, 20, 09, f6, 02, 00, 10, 00, 1d, 09, 01, 09, 01, 0a, f6, 02, 02, 0f, 00, 1c, 20, 0d, f2, 02, 00, 0f, 00, 1c, 0d, 01, 0c, 00, 19, 20, 39, 1e, 00, 0c, 00, 2a, 20, 2d, 31, 00, 0c, 00, 3c, 1e, 00, 1d, 00, 2a, 41, 00, 2e, 00, 3c, 2d, 00, 3d, 02, 0a, 31, 02, 0a, 00, 0b, 23, 01, 09, 01, 12, f2, 02, 03, 09, 00, 0f, 03, 03, 09, 01, 0c, 20, 35, 00, 01, 08, 00, 0c, 35, 00, 0d, 02, 06, 00, 02, 06, 00, 07, 35, 02, 08, 00, 15, 20, 3d, 5a, 00, 08, 00, 15, 3d, 00, 16, 02, 06, 5a, 02, 0f, 00, 1c, 20, 56, 29, 00, 0f, 00, 1c, 56, 01, 0c, 00, 19, 20, 51, 52, 00, 0c, 00, 2a, 20, 45, 49, 00, 0c, 00, 3c, 52, 00, 1d, 00, 2a, 69, 00, 2e, 00, 3c, 45, 00, 3d, 02, 0a, 49, 02, 0a, 00, 0b, 67, 01, 09, 00, 17, 29, 02, 09, 00, 0f, 63, 03, 08, 00, 0c, 20, 4d, 00, 00, 08, 00, 0c, 4d, 01, 0d, 01, 10, 20, 55, 00, 01, 0c, 00, 10, 55, 00, 11, 02, 0a, 00, 02, 0a, 00, 0b, 55, 02, 0c, 00, 19, 20, 59, 96, 01, 00, 0c, 00, 19, 59, 00, 1a, 02, 0a, 96, 01, 03, 11, 00, 1e, 20, 92, 01, 25, 00, 11, 00, 1e, 92, 01, 01, 10, 00, 1d, 20, 79, 8e, 01, 00, 10, 00, 2e, 20, 5d, 61, 00, 10, 00, 40, 8e, 01, 00, 21, 00, 2e, 81, 01, 00, 32, 00, 40, 5d, 00, 41, 02, 0e, 61, 02, 0e, 00, 0f, a3, 01, 01, 0d, 00, 1b, 25, 02, 0d, 00, 13, 00, 02, 06, 00, 07, 9f, 01, 03, 09, 01, 0c, 20, 65, 00, 01, 08, 00, 0c, 65, 00, 0d, 02, 06, 00, 02, 06, 00, 07, cb, 02, 02, 09, 00, 0a, 65, 00, 10, 00, 1d, 20, 6d, da, 01, 00, 10, 00, 1d, 6d, 00, 1e, 02, 06, da, 01, 02, 0f, 00, 1c, 20, d6, 01, 21, 00, 0f, 00, 1c, d6, 01, 01, 0c, 00, 19, 20, 7d, d2, 01, 00, 0c, 00, 2a, 20, 71, 75, 00, 0c, 00, 3c, d2, 01, 00, 1d, 00, 2a, 85, 01, 00, 2e, 00, 3c, 71, 00, 3d, 02, 0a, 75, 02, 0a, 00, 0b, cf, 02, 01, 09, 00, 17, 21, 02, 0d, 02, 0f, db, 02, 05, 09, 00, 0a, cb, 02, 00, 10, 00, 1d, 20, 11, c6, 02, 00, 10, 00, 1d, 11, 00, 1e, 02, 06, c6, 02, 02, 0f, 00, 1c, 20, c2, 02, 1d, 00, 0f, 00, 1c, c2, 02, 01, 0c, 00, 19, 20, 89, 01, be, 02, 00, 0c, 00, 2a, 20, 15, 19, 00, 0c, 00, 3c, be, 02, 00, 1d, 00, 2a, 8d, 01, 00, 2e, 00, 3c, 15, 00, 3d, 02, 0a, 19, 02, 0a, 00, 0b, df, 02, 01, 09, 00, 17, 1d, 02, 09, 00, 0f, d7, 02, 02, 01, 00, 02] Number of files: 1 - file 0 => global file 1 -Number of expressions: 124 -- expression 0 operands: lhs = Counter(2), rhs = Expression(12, Add) +Number of expressions: 94 +- expression 0 operands: lhs = Counter(2), rhs = Expression(8, Add) - expression 1 operands: lhs = Counter(11), rhs = Counter(12) -- expression 2 operands: lhs = Counter(1), rhs = Zero -- expression 3 operands: lhs = Expression(123, Add), rhs = Counter(2) -- expression 4 operands: lhs = Counter(1), rhs = Zero -- expression 5 operands: lhs = Expression(123, Add), rhs = Counter(2) -- expression 6 operands: lhs = Counter(1), rhs = Zero -- expression 7 operands: lhs = Expression(122, Sub), rhs = Counter(3) -- expression 8 operands: lhs = Expression(123, Add), rhs = Counter(2) -- expression 9 operands: lhs = Counter(1), rhs = Zero -- expression 10 operands: lhs = Counter(3), rhs = Counter(14) -- expression 11 operands: lhs = Counter(3), rhs = Counter(14) -- expression 12 operands: lhs = Counter(11), rhs = Counter(12) -- expression 13 operands: lhs = Expression(122, Sub), rhs = Counter(3) -- expression 14 operands: lhs = Expression(123, Add), rhs = Counter(2) -- expression 15 operands: lhs = Counter(1), rhs = Zero -- expression 16 operands: lhs = Expression(0, Add), rhs = Zero -- expression 17 operands: lhs = Counter(13), rhs = Zero -- expression 18 operands: lhs = Expression(35, Add), rhs = Counter(15) -- expression 19 operands: lhs = Counter(13), rhs = Zero -- expression 20 operands: lhs = Expression(35, Add), rhs = Counter(15) -- expression 21 operands: lhs = Counter(13), rhs = Zero -- expression 22 operands: lhs = Expression(34, Sub), rhs = Counter(10) -- expression 23 operands: lhs = Expression(35, Add), rhs = Counter(15) -- expression 24 operands: lhs = Counter(13), rhs = Zero -- expression 25 operands: lhs = Expression(34, Sub), rhs = Counter(10) -- expression 26 operands: lhs = Expression(35, Add), rhs = Counter(15) -- expression 27 operands: lhs = Counter(13), rhs = Zero -- expression 28 operands: lhs = Expression(33, Sub), rhs = Counter(20) -- expression 29 operands: lhs = Expression(34, Sub), rhs = Counter(10) -- expression 30 operands: lhs = Expression(35, Add), rhs = Counter(15) -- expression 31 operands: lhs = Counter(13), rhs = Zero -- expression 32 operands: lhs = Expression(33, Sub), rhs = Counter(20) -- expression 33 operands: lhs = Expression(34, Sub), rhs = Counter(10) -- expression 34 operands: lhs = Expression(35, Add), rhs = Counter(15) -- expression 35 operands: lhs = Counter(13), rhs = Zero -- expression 36 operands: lhs = Counter(17), rhs = Counter(18) -- expression 37 operands: lhs = Counter(15), rhs = Expression(38, Add) -- expression 38 operands: lhs = Counter(17), rhs = Counter(18) -- expression 39 operands: lhs = Counter(21), rhs = Zero -- expression 40 operands: lhs = Expression(57, Add), rhs = Counter(22) -- expression 41 operands: lhs = Counter(21), rhs = Zero -- expression 42 operands: lhs = Expression(57, Add), rhs = Counter(22) -- expression 43 operands: lhs = Counter(21), rhs = Zero -- expression 44 operands: lhs = Expression(56, Sub), rhs = Counter(9) -- expression 45 operands: lhs = Expression(57, Add), rhs = Counter(22) -- expression 46 operands: lhs = Counter(21), rhs = Zero -- expression 47 operands: lhs = Expression(56, Sub), rhs = Counter(9) -- expression 48 operands: lhs = Expression(57, Add), rhs = Counter(22) -- expression 49 operands: lhs = Counter(21), rhs = Zero -- expression 50 operands: lhs = Expression(55, Sub), rhs = Counter(30) -- expression 51 operands: lhs = Expression(56, Sub), rhs = Counter(9) -- expression 52 operands: lhs = Expression(57, Add), rhs = Counter(22) -- expression 53 operands: lhs = Counter(21), rhs = Zero -- expression 54 operands: lhs = Expression(55, Sub), rhs = Counter(30) -- expression 55 operands: lhs = Expression(56, Sub), rhs = Counter(9) -- expression 56 operands: lhs = Expression(57, Add), rhs = Counter(22) -- expression 57 operands: lhs = Counter(21), rhs = Zero -- expression 58 operands: lhs = Counter(23), rhs = Counter(24) -- expression 59 operands: lhs = Expression(60, Add), rhs = Zero -- expression 60 operands: lhs = Counter(22), rhs = Expression(61, Add) -- expression 61 operands: lhs = Counter(23), rhs = Counter(24) -- expression 62 operands: lhs = Counter(27), rhs = Expression(112, Add) -- expression 63 operands: lhs = Counter(28), rhs = Counter(29) -- expression 64 operands: lhs = Counter(25), rhs = Zero -- expression 65 operands: lhs = Expression(82, Add), rhs = Counter(27) -- expression 66 operands: lhs = Counter(25), rhs = Zero -- expression 67 operands: lhs = Expression(82, Add), rhs = Counter(27) -- expression 68 operands: lhs = Counter(25), rhs = Zero -- expression 69 operands: lhs = Expression(81, Sub), rhs = Counter(8) -- expression 70 operands: lhs = Expression(82, Add), rhs = Counter(27) -- expression 71 operands: lhs = Counter(25), rhs = Zero -- expression 72 operands: lhs = Expression(81, Sub), rhs = Counter(8) -- expression 73 operands: lhs = Expression(82, Add), rhs = Counter(27) -- expression 74 operands: lhs = Counter(25), rhs = Zero -- expression 75 operands: lhs = Expression(80, Sub), rhs = Counter(31) -- expression 76 operands: lhs = Expression(81, Sub), rhs = Counter(8) -- expression 77 operands: lhs = Expression(82, Add), rhs = Counter(27) -- expression 78 operands: lhs = Counter(25), rhs = Zero -- expression 79 operands: lhs = Expression(80, Sub), rhs = Counter(31) -- expression 80 operands: lhs = Expression(81, Sub), rhs = Counter(8) -- expression 81 operands: lhs = Expression(82, Add), rhs = Counter(27) -- expression 82 operands: lhs = Counter(25), rhs = Zero +- expression 2 operands: lhs = Counter(1), rhs = Counter(2) +- expression 3 operands: lhs = Counter(1), rhs = Counter(2) +- expression 4 operands: lhs = Expression(93, Sub), rhs = Counter(3) +- expression 5 operands: lhs = Counter(1), rhs = Counter(2) +- expression 6 operands: lhs = Counter(3), rhs = Counter(14) +- expression 7 operands: lhs = Counter(3), rhs = Counter(14) +- expression 8 operands: lhs = Counter(11), rhs = Counter(12) +- expression 9 operands: lhs = Expression(93, Sub), rhs = Counter(3) +- expression 10 operands: lhs = Counter(1), rhs = Counter(2) +- expression 11 operands: lhs = Counter(13), rhs = Counter(15) +- expression 12 operands: lhs = Counter(13), rhs = Counter(15) +- expression 13 operands: lhs = Expression(22, Sub), rhs = Counter(10) +- expression 14 operands: lhs = Counter(13), rhs = Counter(15) +- expression 15 operands: lhs = Expression(22, Sub), rhs = Counter(10) +- expression 16 operands: lhs = Counter(13), rhs = Counter(15) +- expression 17 operands: lhs = Expression(21, Sub), rhs = Counter(20) +- expression 18 operands: lhs = Expression(22, Sub), rhs = Counter(10) +- expression 19 operands: lhs = Counter(13), rhs = Counter(15) +- expression 20 operands: lhs = Expression(21, Sub), rhs = Counter(20) +- expression 21 operands: lhs = Expression(22, Sub), rhs = Counter(10) +- expression 22 operands: lhs = Counter(13), rhs = Counter(15) +- expression 23 operands: lhs = Counter(17), rhs = Counter(18) +- expression 24 operands: lhs = Counter(15), rhs = Expression(25, Add) +- expression 25 operands: lhs = Counter(17), rhs = Counter(18) +- expression 26 operands: lhs = Counter(21), rhs = Counter(22) +- expression 27 operands: lhs = Counter(21), rhs = Counter(22) +- expression 28 operands: lhs = Expression(37, Sub), rhs = Counter(9) +- expression 29 operands: lhs = Counter(21), rhs = Counter(22) +- expression 30 operands: lhs = Expression(37, Sub), rhs = Counter(9) +- expression 31 operands: lhs = Counter(21), rhs = Counter(22) +- expression 32 operands: lhs = Expression(36, Sub), rhs = Counter(30) +- expression 33 operands: lhs = Expression(37, Sub), rhs = Counter(9) +- expression 34 operands: lhs = Counter(21), rhs = Counter(22) +- expression 35 operands: lhs = Expression(36, Sub), rhs = Counter(30) +- expression 36 operands: lhs = Expression(37, Sub), rhs = Counter(9) +- expression 37 operands: lhs = Counter(21), rhs = Counter(22) +- expression 38 operands: lhs = Counter(23), rhs = Counter(24) +- expression 39 operands: lhs = Counter(22), rhs = Expression(40, Add) +- expression 40 operands: lhs = Counter(23), rhs = Counter(24) +- expression 41 operands: lhs = Counter(27), rhs = Expression(83, Add) +- expression 42 operands: lhs = Counter(28), rhs = Counter(29) +- expression 43 operands: lhs = Counter(25), rhs = Counter(27) +- expression 44 operands: lhs = Counter(25), rhs = Counter(27) +- expression 45 operands: lhs = Expression(54, Sub), rhs = Counter(8) +- expression 46 operands: lhs = Counter(25), rhs = Counter(27) +- expression 47 operands: lhs = Expression(54, Sub), rhs = Counter(8) +- expression 48 operands: lhs = Counter(25), rhs = Counter(27) +- expression 49 operands: lhs = Expression(53, Sub), rhs = Counter(31) +- expression 50 operands: lhs = Expression(54, Sub), rhs = Counter(8) +- expression 51 operands: lhs = Counter(25), rhs = Counter(27) +- expression 52 operands: lhs = Expression(53, Sub), rhs = Counter(31) +- expression 53 operands: lhs = Expression(54, Sub), rhs = Counter(8) +- expression 54 operands: lhs = Counter(25), rhs = Counter(27) +- expression 55 operands: lhs = Counter(28), rhs = Counter(29) +- expression 56 operands: lhs = Counter(4), rhs = Expression(87, Add) +- expression 57 operands: lhs = Counter(5), rhs = Counter(6) +- expression 58 operands: lhs = Counter(27), rhs = Expression(83, Add) +- expression 59 operands: lhs = Counter(28), rhs = Counter(29) +- expression 60 operands: lhs = Expression(82, Add), rhs = Counter(4) +- expression 61 operands: lhs = Counter(27), rhs = Expression(83, Add) +- expression 62 operands: lhs = Counter(28), rhs = Counter(29) +- expression 63 operands: lhs = Expression(82, Add), rhs = Counter(4) +- expression 64 operands: lhs = Counter(27), rhs = Expression(83, Add) +- expression 65 operands: lhs = Counter(28), rhs = Counter(29) +- expression 66 operands: lhs = Expression(81, Sub), rhs = Counter(7) +- expression 67 operands: lhs = Expression(82, Add), rhs = Counter(4) +- expression 68 operands: lhs = Counter(27), rhs = Expression(83, Add) +- expression 69 operands: lhs = Counter(28), rhs = Counter(29) +- expression 70 operands: lhs = Expression(81, Sub), rhs = Counter(7) +- expression 71 operands: lhs = Expression(82, Add), rhs = Counter(4) +- expression 72 operands: lhs = Counter(27), rhs = Expression(83, Add) +- expression 73 operands: lhs = Counter(28), rhs = Counter(29) +- expression 74 operands: lhs = Expression(80, Sub), rhs = Counter(34) +- expression 75 operands: lhs = Expression(81, Sub), rhs = Counter(7) +- expression 76 operands: lhs = Expression(82, Add), rhs = Counter(4) +- expression 77 operands: lhs = Counter(27), rhs = Expression(83, Add) +- expression 78 operands: lhs = Counter(28), rhs = Counter(29) +- expression 79 operands: lhs = Expression(80, Sub), rhs = Counter(34) +- expression 80 operands: lhs = Expression(81, Sub), rhs = Counter(7) +- expression 81 operands: lhs = Expression(82, Add), rhs = Counter(4) +- expression 82 operands: lhs = Counter(27), rhs = Expression(83, Add) - expression 83 operands: lhs = Counter(28), rhs = Counter(29) -- expression 84 operands: lhs = Counter(4), rhs = Expression(116, Add) -- expression 85 operands: lhs = Counter(5), rhs = Counter(6) -- expression 86 operands: lhs = Expression(111, Add), rhs = Zero -- expression 87 operands: lhs = Counter(27), rhs = Expression(112, Add) -- expression 88 operands: lhs = Counter(28), rhs = Counter(29) -- expression 89 operands: lhs = Expression(111, Add), rhs = Counter(4) -- expression 90 operands: lhs = Counter(27), rhs = Expression(112, Add) -- expression 91 operands: lhs = Counter(28), rhs = Counter(29) -- expression 92 operands: lhs = Expression(111, Add), rhs = Counter(4) -- expression 93 operands: lhs = Counter(27), rhs = Expression(112, Add) -- expression 94 operands: lhs = Counter(28), rhs = Counter(29) -- expression 95 operands: lhs = Expression(110, Sub), rhs = Counter(7) -- expression 96 operands: lhs = Expression(111, Add), rhs = Counter(4) -- expression 97 operands: lhs = Counter(27), rhs = Expression(112, Add) -- expression 98 operands: lhs = Counter(28), rhs = Counter(29) -- expression 99 operands: lhs = Expression(110, Sub), rhs = Counter(7) -- expression 100 operands: lhs = Expression(111, Add), rhs = Counter(4) -- expression 101 operands: lhs = Counter(27), rhs = Expression(112, Add) -- expression 102 operands: lhs = Counter(28), rhs = Counter(29) -- expression 103 operands: lhs = Expression(109, Sub), rhs = Counter(34) -- expression 104 operands: lhs = Expression(110, Sub), rhs = Counter(7) -- expression 105 operands: lhs = Expression(111, Add), rhs = Counter(4) -- expression 106 operands: lhs = Counter(27), rhs = Expression(112, Add) -- expression 107 operands: lhs = Counter(28), rhs = Counter(29) -- expression 108 operands: lhs = Expression(109, Sub), rhs = Counter(34) -- expression 109 operands: lhs = Expression(110, Sub), rhs = Counter(7) -- expression 110 operands: lhs = Expression(111, Add), rhs = Counter(4) -- expression 111 operands: lhs = Counter(27), rhs = Expression(112, Add) -- expression 112 operands: lhs = Counter(28), rhs = Counter(29) -- expression 113 operands: lhs = Counter(5), rhs = Counter(6) -- expression 114 operands: lhs = Expression(115, Add), rhs = Expression(117, Add) -- expression 115 operands: lhs = Counter(4), rhs = Expression(116, Add) -- expression 116 operands: lhs = Counter(5), rhs = Counter(6) -- expression 117 operands: lhs = Expression(118, Add), rhs = Expression(121, Sub) -- expression 118 operands: lhs = Expression(119, Add), rhs = Expression(120, Add) -- expression 119 operands: lhs = Counter(7), rhs = Counter(8) -- expression 120 operands: lhs = Counter(9), rhs = Counter(10) -- expression 121 operands: lhs = Expression(122, Sub), rhs = Counter(3) -- expression 122 operands: lhs = Expression(123, Add), rhs = Counter(2) -- expression 123 operands: lhs = Counter(1), rhs = Zero +- expression 84 operands: lhs = Counter(5), rhs = Counter(6) +- expression 85 operands: lhs = Expression(86, Add), rhs = Expression(88, Add) +- expression 86 operands: lhs = Counter(4), rhs = Expression(87, Add) +- expression 87 operands: lhs = Counter(5), rhs = Counter(6) +- expression 88 operands: lhs = Expression(89, Add), rhs = Expression(92, Sub) +- expression 89 operands: lhs = Expression(90, Add), rhs = Expression(91, Add) +- expression 90 operands: lhs = Counter(7), rhs = Counter(8) +- expression 91 operands: lhs = Counter(9), rhs = Counter(10) +- expression 92 operands: lhs = Expression(93, Sub), rhs = Counter(3) +- expression 93 operands: lhs = Counter(1), rhs = Counter(2) Number of file 0 mappings: 93 - Code(Counter(0)) at (prev + 3, 1) to (start + 2, 12) - Branch { true: Counter(1), false: Zero } at (prev + 2, 8) to (start + 0, 12) @@ -134,138 +104,134 @@ Number of file 0 mappings: 93 - Code(Zero) at (prev + 2, 6) to (start + 0, 7) - Code(Expression(0, Add)) at (prev + 3, 9) to (start + 0, 10) = (c2 + (c11 + c12)) -- Code(Expression(123, Add)) at (prev + 0, 16) to (start + 0, 29) - = (c1 + Zero) -- Branch { true: Counter(2), false: Expression(122, Sub) } at (prev + 0, 16) to (start + 0, 29) - false = ((c1 + Zero) - c2) +- Code(Counter(1)) at (prev + 0, 16) to (start + 0, 29) +- Branch { true: Counter(2), false: Expression(93, Sub) } at (prev + 0, 16) to (start + 0, 29) + false = (c1 - c2) - Code(Counter(2)) at (prev + 1, 9) to (start + 1, 10) -- Code(Expression(122, Sub)) at (prev + 2, 15) to (start + 0, 28) - = ((c1 + Zero) - c2) -- Branch { true: Counter(3), false: Expression(121, Sub) } at (prev + 0, 15) to (start + 0, 28) - false = (((c1 + Zero) - c2) - c3) +- Code(Expression(93, Sub)) at (prev + 2, 15) to (start + 0, 28) + = (c1 - c2) +- Branch { true: Counter(3), false: Expression(92, Sub) } at (prev + 0, 15) to (start + 0, 28) + false = ((c1 - c2) - c3) - Code(Counter(3)) at (prev + 1, 12) to (start + 0, 25) -- Branch { true: Counter(14), false: Expression(11, Sub) } at (prev + 0, 12) to (start + 0, 42) +- Branch { true: Counter(14), false: Expression(7, Sub) } at (prev + 0, 12) to (start + 0, 42) false = (c3 - c14) - Branch { true: Counter(11), false: Counter(12) } at (prev + 0, 12) to (start + 0, 60) -- Code(Expression(11, Sub)) at (prev + 0, 29) to (start + 0, 42) +- Code(Expression(7, Sub)) at (prev + 0, 29) to (start + 0, 42) = (c3 - c14) - Code(Counter(16)) at (prev + 0, 46) to (start + 0, 60) - Code(Counter(11)) at (prev + 0, 61) to (start + 2, 10) - Code(Counter(12)) at (prev + 2, 10) to (start + 0, 11) -- Code(Expression(12, Add)) at (prev + 1, 9) to (start + 1, 18) +- Code(Expression(8, Add)) at (prev + 1, 9) to (start + 1, 18) = (c11 + c12) -- Code(Expression(121, Sub)) at (prev + 3, 9) to (start + 0, 15) - = (((c1 + Zero) - c2) - c3) -- Code(Expression(16, Add)) at (prev + 3, 9) to (start + 1, 12) - = ((c2 + (c11 + c12)) + Zero) +- Code(Expression(92, Sub)) at (prev + 3, 9) to (start + 0, 15) + = ((c1 - c2) - c3) +- Code(Expression(0, Add)) at (prev + 3, 9) to (start + 1, 12) + = (c2 + (c11 + c12)) - Branch { true: Counter(13), false: Zero } at (prev + 1, 8) to (start + 0, 12) - Code(Counter(13)) at (prev + 0, 13) to (start + 2, 6) - Code(Zero) at (prev + 2, 6) to (start + 0, 7) -- Code(Expression(35, Add)) at (prev + 2, 8) to (start + 0, 21) - = (c13 + Zero) -- Branch { true: Counter(15), false: Expression(34, Sub) } at (prev + 0, 8) to (start + 0, 21) - false = ((c13 + Zero) - c15) +- Code(Counter(13)) at (prev + 2, 8) to (start + 0, 21) +- Branch { true: Counter(15), false: Expression(22, Sub) } at (prev + 0, 8) to (start + 0, 21) + false = (c13 - c15) - Code(Counter(15)) at (prev + 0, 22) to (start + 2, 6) -- Code(Expression(34, Sub)) at (prev + 2, 15) to (start + 0, 28) - = ((c13 + Zero) - c15) -- Branch { true: Expression(33, Sub), false: Counter(10) } at (prev + 0, 15) to (start + 0, 28) - true = (((c13 + Zero) - c15) - c10) -- Code(Expression(33, Sub)) at (prev + 1, 12) to (start + 0, 25) - = (((c13 + Zero) - c15) - c10) -- Branch { true: Counter(20), false: Expression(32, Sub) } at (prev + 0, 12) to (start + 0, 42) - false = ((((c13 + Zero) - c15) - c10) - c20) +- Code(Expression(22, Sub)) at (prev + 2, 15) to (start + 0, 28) + = (c13 - c15) +- Branch { true: Expression(21, Sub), false: Counter(10) } at (prev + 0, 15) to (start + 0, 28) + true = ((c13 - c15) - c10) +- Code(Expression(21, Sub)) at (prev + 1, 12) to (start + 0, 25) + = ((c13 - c15) - c10) +- Branch { true: Counter(20), false: Expression(20, Sub) } at (prev + 0, 12) to (start + 0, 42) + false = (((c13 - c15) - c10) - c20) - Branch { true: Counter(17), false: Counter(18) } at (prev + 0, 12) to (start + 0, 60) -- Code(Expression(32, Sub)) at (prev + 0, 29) to (start + 0, 42) - = ((((c13 + Zero) - c15) - c10) - c20) +- Code(Expression(20, Sub)) at (prev + 0, 29) to (start + 0, 42) + = (((c13 - c15) - c10) - c20) - Code(Counter(26)) at (prev + 0, 46) to (start + 0, 60) - Code(Counter(17)) at (prev + 0, 61) to (start + 2, 10) - Code(Counter(18)) at (prev + 2, 10) to (start + 0, 11) -- Code(Expression(38, Add)) at (prev + 1, 9) to (start + 0, 23) +- Code(Expression(25, Add)) at (prev + 1, 9) to (start + 0, 23) = (c17 + c18) - Code(Counter(10)) at (prev + 2, 9) to (start + 0, 15) -- Code(Expression(37, Add)) at (prev + 3, 8) to (start + 0, 12) +- Code(Expression(24, Add)) at (prev + 3, 8) to (start + 0, 12) = (c15 + (c17 + c18)) - Branch { true: Counter(19), false: Zero } at (prev + 0, 8) to (start + 0, 12) - Code(Counter(19)) at (prev + 1, 13) to (start + 1, 16) - Branch { true: Counter(21), false: Zero } at (prev + 1, 12) to (start + 0, 16) - Code(Counter(21)) at (prev + 0, 17) to (start + 2, 10) - Code(Zero) at (prev + 2, 10) to (start + 0, 11) -- Code(Expression(57, Add)) at (prev + 2, 12) to (start + 0, 25) - = (c21 + Zero) -- Branch { true: Counter(22), false: Expression(56, Sub) } at (prev + 0, 12) to (start + 0, 25) - false = ((c21 + Zero) - c22) +- Code(Counter(21)) at (prev + 2, 12) to (start + 0, 25) +- Branch { true: Counter(22), false: Expression(37, Sub) } at (prev + 0, 12) to (start + 0, 25) + false = (c21 - c22) - Code(Counter(22)) at (prev + 0, 26) to (start + 2, 10) -- Code(Expression(56, Sub)) at (prev + 3, 17) to (start + 0, 30) - = ((c21 + Zero) - c22) -- Branch { true: Expression(55, Sub), false: Counter(9) } at (prev + 0, 17) to (start + 0, 30) - true = (((c21 + Zero) - c22) - c9) -- Code(Expression(55, Sub)) at (prev + 1, 16) to (start + 0, 29) - = (((c21 + Zero) - c22) - c9) -- Branch { true: Counter(30), false: Expression(54, Sub) } at (prev + 0, 16) to (start + 0, 46) - false = ((((c21 + Zero) - c22) - c9) - c30) +- Code(Expression(37, Sub)) at (prev + 3, 17) to (start + 0, 30) + = (c21 - c22) +- Branch { true: Expression(36, Sub), false: Counter(9) } at (prev + 0, 17) to (start + 0, 30) + true = ((c21 - c22) - c9) +- Code(Expression(36, Sub)) at (prev + 1, 16) to (start + 0, 29) + = ((c21 - c22) - c9) +- Branch { true: Counter(30), false: Expression(35, Sub) } at (prev + 0, 16) to (start + 0, 46) + false = (((c21 - c22) - c9) - c30) - Branch { true: Counter(23), false: Counter(24) } at (prev + 0, 16) to (start + 0, 64) -- Code(Expression(54, Sub)) at (prev + 0, 33) to (start + 0, 46) - = ((((c21 + Zero) - c22) - c9) - c30) +- Code(Expression(35, Sub)) at (prev + 0, 33) to (start + 0, 46) + = (((c21 - c22) - c9) - c30) - Code(Counter(32)) at (prev + 0, 50) to (start + 0, 64) - Code(Counter(23)) at (prev + 0, 65) to (start + 2, 14) - Code(Counter(24)) at (prev + 2, 14) to (start + 0, 15) -- Code(Expression(61, Add)) at (prev + 1, 13) to (start + 0, 27) +- Code(Expression(40, Add)) at (prev + 1, 13) to (start + 0, 27) = (c23 + c24) - Code(Counter(9)) at (prev + 2, 13) to (start + 0, 19) - Code(Zero) at (prev + 2, 6) to (start + 0, 7) -- Code(Expression(59, Add)) at (prev + 3, 9) to (start + 1, 12) - = ((c22 + (c23 + c24)) + Zero) +- Code(Expression(39, Add)) at (prev + 3, 9) to (start + 1, 12) + = (c22 + (c23 + c24)) - Branch { true: Counter(25), false: Zero } at (prev + 1, 8) to (start + 0, 12) - Code(Counter(25)) at (prev + 0, 13) to (start + 2, 6) - Code(Zero) at (prev + 2, 6) to (start + 0, 7) -- Code(Expression(111, Add)) at (prev + 2, 9) to (start + 0, 10) +- Code(Expression(82, Add)) at (prev + 2, 9) to (start + 0, 10) = (c27 + (c28 + c29)) -- Code(Expression(82, Add)) at (prev + 0, 16) to (start + 0, 29) - = (c25 + Zero) -- Branch { true: Counter(27), false: Expression(81, Sub) } at (prev + 0, 16) to (start + 0, 29) - false = ((c25 + Zero) - c27) +- Code(Counter(25)) at (prev + 0, 16) to (start + 0, 29) +- Branch { true: Counter(27), false: Expression(54, Sub) } at (prev + 0, 16) to (start + 0, 29) + false = (c25 - c27) - Code(Counter(27)) at (prev + 0, 30) to (start + 2, 6) -- Code(Expression(81, Sub)) at (prev + 2, 15) to (start + 0, 28) - = ((c25 + Zero) - c27) -- Branch { true: Expression(80, Sub), false: Counter(8) } at (prev + 0, 15) to (start + 0, 28) - true = (((c25 + Zero) - c27) - c8) -- Code(Expression(80, Sub)) at (prev + 1, 12) to (start + 0, 25) - = (((c25 + Zero) - c27) - c8) -- Branch { true: Counter(31), false: Expression(79, Sub) } at (prev + 0, 12) to (start + 0, 42) - false = ((((c25 + Zero) - c27) - c8) - c31) +- Code(Expression(54, Sub)) at (prev + 2, 15) to (start + 0, 28) + = (c25 - c27) +- Branch { true: Expression(53, Sub), false: Counter(8) } at (prev + 0, 15) to (start + 0, 28) + true = ((c25 - c27) - c8) +- Code(Expression(53, Sub)) at (prev + 1, 12) to (start + 0, 25) + = ((c25 - c27) - c8) +- Branch { true: Counter(31), false: Expression(52, Sub) } at (prev + 0, 12) to (start + 0, 42) + false = (((c25 - c27) - c8) - c31) - Branch { true: Counter(28), false: Counter(29) } at (prev + 0, 12) to (start + 0, 60) -- Code(Expression(79, Sub)) at (prev + 0, 29) to (start + 0, 42) - = ((((c25 + Zero) - c27) - c8) - c31) +- Code(Expression(52, Sub)) at (prev + 0, 29) to (start + 0, 42) + = (((c25 - c27) - c8) - c31) - Code(Counter(33)) at (prev + 0, 46) to (start + 0, 60) - Code(Counter(28)) at (prev + 0, 61) to (start + 2, 10) - Code(Counter(29)) at (prev + 2, 10) to (start + 0, 11) -- Code(Expression(112, Add)) at (prev + 1, 9) to (start + 0, 23) +- Code(Expression(83, Add)) at (prev + 1, 9) to (start + 0, 23) = (c28 + c29) - Code(Counter(8)) at (prev + 2, 13) to (start + 2, 15) -- Code(Expression(115, Add)) at (prev + 5, 9) to (start + 0, 10) +- Code(Expression(86, Add)) at (prev + 5, 9) to (start + 0, 10) = (c4 + (c5 + c6)) -- Code(Expression(86, Add)) at (prev + 0, 16) to (start + 0, 29) - = ((c27 + (c28 + c29)) + Zero) -- Branch { true: Counter(4), false: Expression(110, Sub) } at (prev + 0, 16) to (start + 0, 29) +- Code(Expression(82, Add)) at (prev + 0, 16) to (start + 0, 29) + = (c27 + (c28 + c29)) +- Branch { true: Counter(4), false: Expression(81, Sub) } at (prev + 0, 16) to (start + 0, 29) false = ((c27 + (c28 + c29)) - c4) - Code(Counter(4)) at (prev + 0, 30) to (start + 2, 6) -- Code(Expression(110, Sub)) at (prev + 2, 15) to (start + 0, 28) +- Code(Expression(81, Sub)) at (prev + 2, 15) to (start + 0, 28) = ((c27 + (c28 + c29)) - c4) -- Branch { true: Expression(109, Sub), false: Counter(7) } at (prev + 0, 15) to (start + 0, 28) +- Branch { true: Expression(80, Sub), false: Counter(7) } at (prev + 0, 15) to (start + 0, 28) true = (((c27 + (c28 + c29)) - c4) - c7) -- Code(Expression(109, Sub)) at (prev + 1, 12) to (start + 0, 25) +- Code(Expression(80, Sub)) at (prev + 1, 12) to (start + 0, 25) = (((c27 + (c28 + c29)) - c4) - c7) -- Branch { true: Counter(34), false: Expression(108, Sub) } at (prev + 0, 12) to (start + 0, 42) +- Branch { true: Counter(34), false: Expression(79, Sub) } at (prev + 0, 12) to (start + 0, 42) false = ((((c27 + (c28 + c29)) - c4) - c7) - c34) - Branch { true: Counter(5), false: Counter(6) } at (prev + 0, 12) to (start + 0, 60) -- Code(Expression(108, Sub)) at (prev + 0, 29) to (start + 0, 42) +- Code(Expression(79, Sub)) at (prev + 0, 29) to (start + 0, 42) = ((((c27 + (c28 + c29)) - c4) - c7) - c34) - Code(Counter(35)) at (prev + 0, 46) to (start + 0, 60) - Code(Counter(5)) at (prev + 0, 61) to (start + 2, 10) - Code(Counter(6)) at (prev + 2, 10) to (start + 0, 11) -- Code(Expression(116, Add)) at (prev + 1, 9) to (start + 0, 23) +- Code(Expression(87, Add)) at (prev + 1, 9) to (start + 0, 23) = (c5 + c6) - Code(Counter(7)) at (prev + 2, 9) to (start + 0, 15) -- Code(Expression(114, Add)) at (prev + 2, 1) to (start + 0, 2) - = ((c4 + (c5 + c6)) + (((c7 + c8) + (c9 + c10)) + (((c1 + Zero) - c2) - c3))) +- Code(Expression(85, Add)) at (prev + 2, 1) to (start + 0, 2) + = ((c4 + (c5 + c6)) + (((c7 + c8) + (c9 + c10)) + ((c1 - c2) - c3))) diff --git a/tests/coverage-map/status-quo/drop_trait.cov-map b/tests/coverage-map/status-quo/drop_trait.cov-map index f1e8ef03aa670..0f8cd30bc55a2 100644 --- a/tests/coverage-map/status-quo/drop_trait.cov-map +++ b/tests/coverage-map/status-quo/drop_trait.cov-map @@ -7,16 +7,14 @@ Number of file 0 mappings: 1 - Code(Counter(0)) at (prev + 9, 5) to (start + 2, 6) Function name: drop_trait::main -Raw bytes (33): 0x[01, 01, 01, 05, 00, 05, 01, 0e, 01, 05, 0c, 20, 05, 00, 05, 08, 00, 0c, 05, 01, 09, 01, 16, 00, 02, 06, 04, 0b, 03, 05, 01, 00, 02] +Raw bytes (31): 0x[01, 01, 00, 05, 01, 0e, 01, 05, 0c, 20, 05, 00, 05, 08, 00, 0c, 05, 01, 09, 01, 16, 00, 02, 06, 04, 0b, 05, 05, 01, 00, 02] Number of files: 1 - file 0 => global file 1 -Number of expressions: 1 -- expression 0 operands: lhs = Counter(1), rhs = Zero +Number of expressions: 0 Number of file 0 mappings: 5 - Code(Counter(0)) at (prev + 14, 1) to (start + 5, 12) - Branch { true: Counter(1), false: Zero } at (prev + 5, 8) to (start + 0, 12) - Code(Counter(1)) at (prev + 1, 9) to (start + 1, 22) - Code(Zero) at (prev + 2, 6) to (start + 4, 11) -- Code(Expression(0, Add)) at (prev + 5, 1) to (start + 0, 2) - = (c1 + Zero) +- Code(Counter(1)) at (prev + 5, 1) to (start + 0, 2) diff --git a/tests/coverage-map/status-quo/generics.cov-map b/tests/coverage-map/status-quo/generics.cov-map index b12d8b7f3eebb..99a40ca960d24 100644 --- a/tests/coverage-map/status-quo/generics.cov-map +++ b/tests/coverage-map/status-quo/generics.cov-map @@ -31,16 +31,14 @@ Number of file 0 mappings: 1 - Code(Counter(0)) at (prev + 10, 5) to (start + 2, 6) Function name: generics::main -Raw bytes (33): 0x[01, 01, 01, 05, 00, 05, 01, 16, 01, 08, 0c, 20, 05, 00, 08, 08, 00, 0c, 05, 01, 09, 01, 16, 00, 02, 06, 08, 0b, 03, 09, 01, 00, 02] +Raw bytes (31): 0x[01, 01, 00, 05, 01, 16, 01, 08, 0c, 20, 05, 00, 08, 08, 00, 0c, 05, 01, 09, 01, 16, 00, 02, 06, 08, 0b, 05, 09, 01, 00, 02] Number of files: 1 - file 0 => global file 1 -Number of expressions: 1 -- expression 0 operands: lhs = Counter(1), rhs = Zero +Number of expressions: 0 Number of file 0 mappings: 5 - Code(Counter(0)) at (prev + 22, 1) to (start + 8, 12) - Branch { true: Counter(1), false: Zero } at (prev + 8, 8) to (start + 0, 12) - Code(Counter(1)) at (prev + 1, 9) to (start + 1, 22) - Code(Zero) at (prev + 2, 6) to (start + 8, 11) -- Code(Expression(0, Add)) at (prev + 9, 1) to (start + 0, 2) - = (c1 + Zero) +- Code(Counter(1)) at (prev + 9, 1) to (start + 0, 2) diff --git a/tests/coverage-map/status-quo/loops_branches.cov-map b/tests/coverage-map/status-quo/loops_branches.cov-map index 5519ed789c6b5..f881aa725e3c8 100644 --- a/tests/coverage-map/status-quo/loops_branches.cov-map +++ b/tests/coverage-map/status-quo/loops_branches.cov-map @@ -1,81 +1,68 @@ Function name: ::fmt -Raw bytes (379): 0x[01, 01, 49, 05, 09, 00, 02, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 9f, 02, a3, 02, 0d, 00, 11, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 96, 02, 00, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 96, 02, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 96, 02, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 92, 02, 1d, 96, 02, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 92, 02, 1d, 96, 02, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 00, 8e, 02, 92, 02, 1d, 96, 02, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 8b, 02, 11, 00, 8e, 02, 92, 02, 1d, 96, 02, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 8b, 02, 11, 00, 8e, 02, 92, 02, 1d, 96, 02, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 25, 83, 02, 86, 02, 19, 8b, 02, 11, 00, 8e, 02, 92, 02, 1d, 96, 02, 15, 9b, 02, 19, 9f, 02, a3, 02, 0d, 00, 11, 15, 1d, 01, 09, 05, 01, 10, 20, 05, 00, 01, 0c, 00, 10, 05, 01, 10, 00, 15, 20, 09, 02, 00, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 17, 00, 1b, 00, 00, 1c, 01, 12, 02, 02, 0e, 00, 0f, 07, 01, 0d, 00, 1e, 20, 25, 0d, 00, 0d, 00, 1f, 25, 00, 1e, 00, 1f, 00, 01, 10, 01, 0a, 96, 02, 03, 0d, 00, 0e, 9b, 02, 00, 12, 00, 17, 20, 96, 02, 19, 00, 12, 00, 17, 37, 01, 10, 00, 14, 20, 92, 02, 15, 00, 10, 00, 14, 92, 02, 01, 14, 00, 19, 20, 1d, 8e, 02, 00, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 1b, 00, 1f, 00, 00, 20, 00, 22, 8e, 02, 01, 12, 00, 13, 8b, 02, 01, 11, 00, 22, 20, 86, 02, 11, 00, 11, 00, 23, 86, 02, 00, 22, 00, 23, 00, 01, 14, 01, 0e, 19, 03, 09, 00, 0f, ff, 01, 01, 05, 00, 06] +Raw bytes (341): 0x[01, 01, 3c, 05, 09, 00, 02, eb, 01, 19, 0d, ef, 01, 11, 15, 0d, ef, 01, 11, 15, eb, 01, 19, 0d, ef, 01, 11, 15, eb, 01, 19, 0d, ef, 01, 11, 15, e6, 01, 15, eb, 01, 19, 0d, ef, 01, 11, 15, e6, 01, 15, eb, 01, 19, 0d, ef, 01, 11, 15, e2, 01, 1d, e6, 01, 15, eb, 01, 19, 0d, ef, 01, 11, 15, e2, 01, 1d, e6, 01, 15, eb, 01, 19, 0d, ef, 01, 11, 15, 00, de, 01, e2, 01, 1d, e6, 01, 15, eb, 01, 19, 0d, ef, 01, 11, 15, db, 01, 11, 00, de, 01, e2, 01, 1d, e6, 01, 15, eb, 01, 19, 0d, ef, 01, 11, 15, db, 01, 11, 00, de, 01, e2, 01, 1d, e6, 01, 15, eb, 01, 19, 0d, ef, 01, 11, 15, 25, d3, 01, d6, 01, 19, db, 01, 11, 00, de, 01, e2, 01, 1d, e6, 01, 15, eb, 01, 19, 0d, ef, 01, 11, 15, 1d, 01, 09, 05, 01, 10, 20, 05, 00, 01, 0c, 00, 10, 05, 01, 10, 00, 15, 20, 09, 02, 00, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 17, 00, 1b, 00, 00, 1c, 01, 12, 02, 02, 0e, 00, 0f, 07, 01, 0d, 00, 1e, 20, 25, 0d, 00, 0d, 00, 1f, 25, 00, 1e, 00, 1f, 00, 01, 10, 01, 0a, e6, 01, 03, 0d, 00, 0e, eb, 01, 00, 12, 00, 17, 20, e6, 01, 19, 00, 12, 00, 17, e6, 01, 01, 10, 00, 14, 20, e2, 01, 15, 00, 10, 00, 14, e2, 01, 01, 14, 00, 19, 20, 1d, de, 01, 00, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 1b, 00, 1f, 00, 00, 20, 00, 22, de, 01, 01, 12, 00, 13, db, 01, 01, 11, 00, 22, 20, d6, 01, 11, 00, 11, 00, 23, d6, 01, 00, 22, 00, 23, 00, 01, 14, 01, 0e, 19, 03, 09, 00, 0f, cf, 01, 01, 05, 00, 06] Number of files: 1 - file 0 => global file 1 -Number of expressions: 73 +Number of expressions: 60 - expression 0 operands: lhs = Counter(1), rhs = Counter(2) - expression 1 operands: lhs = Zero, rhs = Expression(0, Sub) -- expression 2 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 3 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 4 operands: lhs = Counter(3), rhs = Zero -- expression 5 operands: lhs = Counter(4), rhs = Counter(5) -- expression 6 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 7 operands: lhs = Counter(3), rhs = Zero -- expression 8 operands: lhs = Counter(4), rhs = Counter(5) -- expression 9 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 10 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 11 operands: lhs = Counter(3), rhs = Zero +- expression 2 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 3 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 4 operands: lhs = Counter(4), rhs = Counter(5) +- expression 5 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 6 operands: lhs = Counter(4), rhs = Counter(5) +- expression 7 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 8 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 9 operands: lhs = Counter(4), rhs = Counter(5) +- expression 10 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 11 operands: lhs = Counter(3), rhs = Expression(59, Add) - expression 12 operands: lhs = Counter(4), rhs = Counter(5) -- expression 13 operands: lhs = Expression(69, Sub), rhs = Zero -- expression 14 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 15 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 16 operands: lhs = Counter(3), rhs = Zero -- expression 17 operands: lhs = Counter(4), rhs = Counter(5) -- expression 18 operands: lhs = Expression(69, Sub), rhs = Counter(5) -- expression 19 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 20 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 21 operands: lhs = Counter(3), rhs = Zero -- expression 22 operands: lhs = Counter(4), rhs = Counter(5) -- expression 23 operands: lhs = Expression(69, Sub), rhs = Counter(5) -- expression 24 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 25 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 26 operands: lhs = Counter(3), rhs = Zero -- expression 27 operands: lhs = Counter(4), rhs = Counter(5) -- expression 28 operands: lhs = Expression(68, Sub), rhs = Counter(7) -- expression 29 operands: lhs = Expression(69, Sub), rhs = Counter(5) -- expression 30 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 31 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 32 operands: lhs = Counter(3), rhs = Zero -- expression 33 operands: lhs = Counter(4), rhs = Counter(5) -- expression 34 operands: lhs = Expression(68, Sub), rhs = Counter(7) -- expression 35 operands: lhs = Expression(69, Sub), rhs = Counter(5) -- expression 36 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 37 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 38 operands: lhs = Counter(3), rhs = Zero -- expression 39 operands: lhs = Counter(4), rhs = Counter(5) -- expression 40 operands: lhs = Zero, rhs = Expression(67, Sub) -- expression 41 operands: lhs = Expression(68, Sub), rhs = Counter(7) -- expression 42 operands: lhs = Expression(69, Sub), rhs = Counter(5) -- expression 43 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 44 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 45 operands: lhs = Counter(3), rhs = Zero -- expression 46 operands: lhs = Counter(4), rhs = Counter(5) -- expression 47 operands: lhs = Expression(66, Add), rhs = Counter(4) -- expression 48 operands: lhs = Zero, rhs = Expression(67, Sub) -- expression 49 operands: lhs = Expression(68, Sub), rhs = Counter(7) -- expression 50 operands: lhs = Expression(69, Sub), rhs = Counter(5) -- expression 51 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 52 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 53 operands: lhs = Counter(3), rhs = Zero -- expression 54 operands: lhs = Counter(4), rhs = Counter(5) -- expression 55 operands: lhs = Expression(66, Add), rhs = Counter(4) -- expression 56 operands: lhs = Zero, rhs = Expression(67, Sub) -- expression 57 operands: lhs = Expression(68, Sub), rhs = Counter(7) -- expression 58 operands: lhs = Expression(69, Sub), rhs = Counter(5) -- expression 59 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 60 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 61 operands: lhs = Counter(3), rhs = Zero -- expression 62 operands: lhs = Counter(4), rhs = Counter(5) -- expression 63 operands: lhs = Counter(9), rhs = Expression(64, Add) -- expression 64 operands: lhs = Expression(65, Sub), rhs = Counter(6) -- expression 65 operands: lhs = Expression(66, Add), rhs = Counter(4) -- expression 66 operands: lhs = Zero, rhs = Expression(67, Sub) -- expression 67 operands: lhs = Expression(68, Sub), rhs = Counter(7) -- expression 68 operands: lhs = Expression(69, Sub), rhs = Counter(5) -- expression 69 operands: lhs = Expression(70, Add), rhs = Counter(6) -- expression 70 operands: lhs = Expression(71, Add), rhs = Expression(72, Add) -- expression 71 operands: lhs = Counter(3), rhs = Zero -- expression 72 operands: lhs = Counter(4), rhs = Counter(5) +- expression 13 operands: lhs = Expression(57, Sub), rhs = Counter(5) +- expression 14 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 15 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 16 operands: lhs = Counter(4), rhs = Counter(5) +- expression 17 operands: lhs = Expression(57, Sub), rhs = Counter(5) +- expression 18 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 19 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 20 operands: lhs = Counter(4), rhs = Counter(5) +- expression 21 operands: lhs = Expression(56, Sub), rhs = Counter(7) +- expression 22 operands: lhs = Expression(57, Sub), rhs = Counter(5) +- expression 23 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 24 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 25 operands: lhs = Counter(4), rhs = Counter(5) +- expression 26 operands: lhs = Expression(56, Sub), rhs = Counter(7) +- expression 27 operands: lhs = Expression(57, Sub), rhs = Counter(5) +- expression 28 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 29 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 30 operands: lhs = Counter(4), rhs = Counter(5) +- expression 31 operands: lhs = Zero, rhs = Expression(55, Sub) +- expression 32 operands: lhs = Expression(56, Sub), rhs = Counter(7) +- expression 33 operands: lhs = Expression(57, Sub), rhs = Counter(5) +- expression 34 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 35 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 36 operands: lhs = Counter(4), rhs = Counter(5) +- expression 37 operands: lhs = Expression(54, Add), rhs = Counter(4) +- expression 38 operands: lhs = Zero, rhs = Expression(55, Sub) +- expression 39 operands: lhs = Expression(56, Sub), rhs = Counter(7) +- expression 40 operands: lhs = Expression(57, Sub), rhs = Counter(5) +- expression 41 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 42 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 43 operands: lhs = Counter(4), rhs = Counter(5) +- expression 44 operands: lhs = Expression(54, Add), rhs = Counter(4) +- expression 45 operands: lhs = Zero, rhs = Expression(55, Sub) +- expression 46 operands: lhs = Expression(56, Sub), rhs = Counter(7) +- expression 47 operands: lhs = Expression(57, Sub), rhs = Counter(5) +- expression 48 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 49 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 50 operands: lhs = Counter(4), rhs = Counter(5) +- expression 51 operands: lhs = Counter(9), rhs = Expression(52, Add) +- expression 52 operands: lhs = Expression(53, Sub), rhs = Counter(6) +- expression 53 operands: lhs = Expression(54, Add), rhs = Counter(4) +- expression 54 operands: lhs = Zero, rhs = Expression(55, Sub) +- expression 55 operands: lhs = Expression(56, Sub), rhs = Counter(7) +- expression 56 operands: lhs = Expression(57, Sub), rhs = Counter(5) +- expression 57 operands: lhs = Expression(58, Add), rhs = Counter(6) +- expression 58 operands: lhs = Counter(3), rhs = Expression(59, Add) +- expression 59 operands: lhs = Counter(4), rhs = Counter(5) Number of file 0 mappings: 29 - Code(Counter(0)) at (prev + 9, 5) to (start + 1, 16) - Branch { true: Counter(1), false: Zero } at (prev + 1, 12) to (start + 0, 16) @@ -92,117 +79,116 @@ Number of file 0 mappings: 29 - Branch { true: Counter(9), false: Counter(3) } at (prev + 0, 13) to (start + 0, 31) - Code(Counter(9)) at (prev + 0, 30) to (start + 0, 31) - Code(Zero) at (prev + 1, 16) to (start + 1, 10) -- Code(Expression(69, Sub)) at (prev + 3, 13) to (start + 0, 14) - = (((c3 + Zero) + (c4 + c5)) - c6) -- Code(Expression(70, Add)) at (prev + 0, 18) to (start + 0, 23) - = ((c3 + Zero) + (c4 + c5)) -- Branch { true: Expression(69, Sub), false: Counter(6) } at (prev + 0, 18) to (start + 0, 23) - true = (((c3 + Zero) + (c4 + c5)) - c6) -- Code(Expression(13, Add)) at (prev + 1, 16) to (start + 0, 20) - = ((((c3 + Zero) + (c4 + c5)) - c6) + Zero) -- Branch { true: Expression(68, Sub), false: Counter(5) } at (prev + 0, 16) to (start + 0, 20) - true = ((((c3 + Zero) + (c4 + c5)) - c6) - c5) -- Code(Expression(68, Sub)) at (prev + 1, 20) to (start + 0, 25) - = ((((c3 + Zero) + (c4 + c5)) - c6) - c5) -- Branch { true: Counter(7), false: Expression(67, Sub) } at (prev + 0, 20) to (start + 0, 25) - false = (((((c3 + Zero) + (c4 + c5)) - c6) - c5) - c7) +- Code(Expression(57, Sub)) at (prev + 3, 13) to (start + 0, 14) + = ((c3 + (c4 + c5)) - c6) +- Code(Expression(58, Add)) at (prev + 0, 18) to (start + 0, 23) + = (c3 + (c4 + c5)) +- Branch { true: Expression(57, Sub), false: Counter(6) } at (prev + 0, 18) to (start + 0, 23) + true = ((c3 + (c4 + c5)) - c6) +- Code(Expression(57, Sub)) at (prev + 1, 16) to (start + 0, 20) + = ((c3 + (c4 + c5)) - c6) +- Branch { true: Expression(56, Sub), false: Counter(5) } at (prev + 0, 16) to (start + 0, 20) + true = (((c3 + (c4 + c5)) - c6) - c5) +- Code(Expression(56, Sub)) at (prev + 1, 20) to (start + 0, 25) + = (((c3 + (c4 + c5)) - c6) - c5) +- Branch { true: Counter(7), false: Expression(55, Sub) } at (prev + 0, 20) to (start + 0, 25) + false = ((((c3 + (c4 + c5)) - c6) - c5) - c7) - Code(Zero) at (prev + 1, 27) to (start + 0, 31) - Code(Zero) at (prev + 0, 27) to (start + 0, 31) - Code(Zero) at (prev + 0, 32) to (start + 0, 34) -- Code(Expression(67, Sub)) at (prev + 1, 18) to (start + 0, 19) - = (((((c3 + Zero) + (c4 + c5)) - c6) - c5) - c7) -- Code(Expression(66, Add)) at (prev + 1, 17) to (start + 0, 34) - = (Zero + (((((c3 + Zero) + (c4 + c5)) - c6) - c5) - c7)) -- Branch { true: Expression(65, Sub), false: Counter(4) } at (prev + 0, 17) to (start + 0, 35) - true = ((Zero + (((((c3 + Zero) + (c4 + c5)) - c6) - c5) - c7)) - c4) -- Code(Expression(65, Sub)) at (prev + 0, 34) to (start + 0, 35) - = ((Zero + (((((c3 + Zero) + (c4 + c5)) - c6) - c5) - c7)) - c4) +- Code(Expression(55, Sub)) at (prev + 1, 18) to (start + 0, 19) + = ((((c3 + (c4 + c5)) - c6) - c5) - c7) +- Code(Expression(54, Add)) at (prev + 1, 17) to (start + 0, 34) + = (Zero + ((((c3 + (c4 + c5)) - c6) - c5) - c7)) +- Branch { true: Expression(53, Sub), false: Counter(4) } at (prev + 0, 17) to (start + 0, 35) + true = ((Zero + ((((c3 + (c4 + c5)) - c6) - c5) - c7)) - c4) +- Code(Expression(53, Sub)) at (prev + 0, 34) to (start + 0, 35) + = ((Zero + ((((c3 + (c4 + c5)) - c6) - c5) - c7)) - c4) - Code(Zero) at (prev + 1, 20) to (start + 1, 14) - Code(Counter(6)) at (prev + 3, 9) to (start + 0, 15) -- Code(Expression(63, Add)) at (prev + 1, 5) to (start + 0, 6) - = (c9 + (((Zero + (((((c3 + Zero) + (c4 + c5)) - c6) - c5) - c7)) - c4) + c6)) +- Code(Expression(51, Add)) at (prev + 1, 5) to (start + 0, 6) + = (c9 + (((Zero + ((((c3 + (c4 + c5)) - c6) - c5) - c7)) - c4) + c6)) Function name: ::fmt -Raw bytes (385): 0x[01, 01, 4c, 01, 05, 02, 09, 02, 09, 00, 12, 02, 09, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, a7, 02, ab, 02, 05, 0d, 11, 15, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 9e, 02, 00, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 9e, 02, 11, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 9e, 02, 11, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 9a, 02, 1d, 9e, 02, 11, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 9a, 02, 1d, 9e, 02, 11, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 00, 96, 02, 9a, 02, 1d, 9e, 02, 11, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 93, 02, 15, 00, 96, 02, 9a, 02, 1d, 9e, 02, 11, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 93, 02, 15, 00, 96, 02, 9a, 02, 1d, 9e, 02, 11, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 8e, 02, af, 02, 93, 02, 15, 00, 96, 02, 9a, 02, 1d, 9e, 02, 11, a3, 02, 19, a7, 02, ab, 02, 05, 0d, 11, 15, 19, 25, 1d, 01, 23, 05, 01, 11, 20, 05, 02, 01, 0c, 00, 11, 00, 00, 12, 01, 0a, 02, 02, 10, 00, 15, 20, 09, 12, 00, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 17, 00, 1b, 00, 00, 1c, 00, 1e, 12, 01, 0e, 00, 0f, 0f, 01, 0d, 00, 1e, 20, 25, 0d, 00, 0d, 00, 1f, 25, 00, 1e, 00, 1f, 9e, 02, 02, 0d, 00, 0e, a3, 02, 00, 12, 00, 17, 20, 9e, 02, 19, 00, 12, 00, 17, 43, 01, 10, 00, 15, 20, 11, 9a, 02, 00, 10, 00, 15, 00, 00, 16, 01, 0e, 9a, 02, 02, 14, 00, 19, 20, 1d, 96, 02, 00, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 1b, 00, 1f, 00, 00, 20, 00, 22, 96, 02, 01, 12, 00, 13, 93, 02, 01, 11, 00, 22, 20, 8e, 02, 15, 00, 11, 00, 23, 8e, 02, 00, 22, 00, 23, 19, 03, 09, 00, 0f, 8b, 02, 01, 05, 00, 06] +Raw bytes (383): 0x[01, 01, 4b, 01, 05, 02, 09, 02, 09, 00, 12, 02, 09, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, a3, 02, a7, 02, 05, 0d, 11, 15, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 9a, 02, 11, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 9a, 02, 11, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 96, 02, 1d, 9a, 02, 11, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 96, 02, 1d, 9a, 02, 11, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 00, 92, 02, 96, 02, 1d, 9a, 02, 11, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 8f, 02, 15, 00, 92, 02, 96, 02, 1d, 9a, 02, 11, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 8f, 02, 15, 00, 92, 02, 96, 02, 1d, 9a, 02, 11, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 8a, 02, ab, 02, 8f, 02, 15, 00, 92, 02, 96, 02, 1d, 9a, 02, 11, 9f, 02, 19, a3, 02, a7, 02, 05, 0d, 11, 15, 19, 25, 1d, 01, 23, 05, 01, 11, 20, 05, 02, 01, 0c, 00, 11, 00, 00, 12, 01, 0a, 02, 02, 10, 00, 15, 20, 09, 12, 00, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 17, 00, 1b, 00, 00, 1c, 00, 1e, 12, 01, 0e, 00, 0f, 0f, 01, 0d, 00, 1e, 20, 25, 0d, 00, 0d, 00, 1f, 25, 00, 1e, 00, 1f, 9a, 02, 02, 0d, 00, 0e, 9f, 02, 00, 12, 00, 17, 20, 9a, 02, 19, 00, 12, 00, 17, 9a, 02, 01, 10, 00, 15, 20, 11, 96, 02, 00, 10, 00, 15, 00, 00, 16, 01, 0e, 96, 02, 02, 14, 00, 19, 20, 1d, 92, 02, 00, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 1b, 00, 1f, 00, 00, 20, 00, 22, 92, 02, 01, 12, 00, 13, 8f, 02, 01, 11, 00, 22, 20, 8a, 02, 15, 00, 11, 00, 23, 8a, 02, 00, 22, 00, 23, 19, 03, 09, 00, 0f, 87, 02, 01, 05, 00, 06] Number of files: 1 - file 0 => global file 1 -Number of expressions: 76 +Number of expressions: 75 - expression 0 operands: lhs = Counter(0), rhs = Counter(1) - expression 1 operands: lhs = Expression(0, Sub), rhs = Counter(2) - expression 2 operands: lhs = Expression(0, Sub), rhs = Counter(2) - expression 3 operands: lhs = Zero, rhs = Expression(4, Sub) - expression 4 operands: lhs = Expression(0, Sub), rhs = Counter(2) -- expression 5 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 6 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) +- expression 5 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 6 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) - expression 7 operands: lhs = Counter(1), rhs = Counter(3) - expression 8 operands: lhs = Counter(4), rhs = Counter(5) -- expression 9 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) +- expression 9 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) - expression 10 operands: lhs = Counter(1), rhs = Counter(3) - expression 11 operands: lhs = Counter(4), rhs = Counter(5) -- expression 12 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 13 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) +- expression 12 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 13 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) - expression 14 operands: lhs = Counter(1), rhs = Counter(3) - expression 15 operands: lhs = Counter(4), rhs = Counter(5) -- expression 16 operands: lhs = Expression(71, Sub), rhs = Zero -- expression 17 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 18 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 19 operands: lhs = Counter(1), rhs = Counter(3) -- expression 20 operands: lhs = Counter(4), rhs = Counter(5) -- expression 21 operands: lhs = Expression(71, Sub), rhs = Counter(4) -- expression 22 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 23 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 24 operands: lhs = Counter(1), rhs = Counter(3) -- expression 25 operands: lhs = Counter(4), rhs = Counter(5) -- expression 26 operands: lhs = Expression(71, Sub), rhs = Counter(4) -- expression 27 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 28 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 29 operands: lhs = Counter(1), rhs = Counter(3) -- expression 30 operands: lhs = Counter(4), rhs = Counter(5) -- expression 31 operands: lhs = Expression(70, Sub), rhs = Counter(7) -- expression 32 operands: lhs = Expression(71, Sub), rhs = Counter(4) -- expression 33 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 34 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 35 operands: lhs = Counter(1), rhs = Counter(3) -- expression 36 operands: lhs = Counter(4), rhs = Counter(5) -- expression 37 operands: lhs = Expression(70, Sub), rhs = Counter(7) -- expression 38 operands: lhs = Expression(71, Sub), rhs = Counter(4) -- expression 39 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 40 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 41 operands: lhs = Counter(1), rhs = Counter(3) -- expression 42 operands: lhs = Counter(4), rhs = Counter(5) -- expression 43 operands: lhs = Zero, rhs = Expression(69, Sub) -- expression 44 operands: lhs = Expression(70, Sub), rhs = Counter(7) -- expression 45 operands: lhs = Expression(71, Sub), rhs = Counter(4) -- expression 46 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 47 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 48 operands: lhs = Counter(1), rhs = Counter(3) -- expression 49 operands: lhs = Counter(4), rhs = Counter(5) -- expression 50 operands: lhs = Expression(68, Add), rhs = Counter(5) -- expression 51 operands: lhs = Zero, rhs = Expression(69, Sub) -- expression 52 operands: lhs = Expression(70, Sub), rhs = Counter(7) -- expression 53 operands: lhs = Expression(71, Sub), rhs = Counter(4) -- expression 54 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 55 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 56 operands: lhs = Counter(1), rhs = Counter(3) -- expression 57 operands: lhs = Counter(4), rhs = Counter(5) -- expression 58 operands: lhs = Expression(68, Add), rhs = Counter(5) -- expression 59 operands: lhs = Zero, rhs = Expression(69, Sub) -- expression 60 operands: lhs = Expression(70, Sub), rhs = Counter(7) -- expression 61 operands: lhs = Expression(71, Sub), rhs = Counter(4) -- expression 62 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 63 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 64 operands: lhs = Counter(1), rhs = Counter(3) -- expression 65 operands: lhs = Counter(4), rhs = Counter(5) -- expression 66 operands: lhs = Expression(67, Sub), rhs = Expression(75, Add) -- expression 67 operands: lhs = Expression(68, Add), rhs = Counter(5) -- expression 68 operands: lhs = Zero, rhs = Expression(69, Sub) -- expression 69 operands: lhs = Expression(70, Sub), rhs = Counter(7) -- expression 70 operands: lhs = Expression(71, Sub), rhs = Counter(4) -- expression 71 operands: lhs = Expression(72, Add), rhs = Counter(6) -- expression 72 operands: lhs = Expression(73, Add), rhs = Expression(74, Add) -- expression 73 operands: lhs = Counter(1), rhs = Counter(3) -- expression 74 operands: lhs = Counter(4), rhs = Counter(5) -- expression 75 operands: lhs = Counter(6), rhs = Counter(9) +- expression 16 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 17 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 18 operands: lhs = Counter(1), rhs = Counter(3) +- expression 19 operands: lhs = Counter(4), rhs = Counter(5) +- expression 20 operands: lhs = Expression(70, Sub), rhs = Counter(4) +- expression 21 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 22 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 23 operands: lhs = Counter(1), rhs = Counter(3) +- expression 24 operands: lhs = Counter(4), rhs = Counter(5) +- expression 25 operands: lhs = Expression(70, Sub), rhs = Counter(4) +- expression 26 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 27 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 28 operands: lhs = Counter(1), rhs = Counter(3) +- expression 29 operands: lhs = Counter(4), rhs = Counter(5) +- expression 30 operands: lhs = Expression(69, Sub), rhs = Counter(7) +- expression 31 operands: lhs = Expression(70, Sub), rhs = Counter(4) +- expression 32 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 33 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 34 operands: lhs = Counter(1), rhs = Counter(3) +- expression 35 operands: lhs = Counter(4), rhs = Counter(5) +- expression 36 operands: lhs = Expression(69, Sub), rhs = Counter(7) +- expression 37 operands: lhs = Expression(70, Sub), rhs = Counter(4) +- expression 38 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 39 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 40 operands: lhs = Counter(1), rhs = Counter(3) +- expression 41 operands: lhs = Counter(4), rhs = Counter(5) +- expression 42 operands: lhs = Zero, rhs = Expression(68, Sub) +- expression 43 operands: lhs = Expression(69, Sub), rhs = Counter(7) +- expression 44 operands: lhs = Expression(70, Sub), rhs = Counter(4) +- expression 45 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 46 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 47 operands: lhs = Counter(1), rhs = Counter(3) +- expression 48 operands: lhs = Counter(4), rhs = Counter(5) +- expression 49 operands: lhs = Expression(67, Add), rhs = Counter(5) +- expression 50 operands: lhs = Zero, rhs = Expression(68, Sub) +- expression 51 operands: lhs = Expression(69, Sub), rhs = Counter(7) +- expression 52 operands: lhs = Expression(70, Sub), rhs = Counter(4) +- expression 53 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 54 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 55 operands: lhs = Counter(1), rhs = Counter(3) +- expression 56 operands: lhs = Counter(4), rhs = Counter(5) +- expression 57 operands: lhs = Expression(67, Add), rhs = Counter(5) +- expression 58 operands: lhs = Zero, rhs = Expression(68, Sub) +- expression 59 operands: lhs = Expression(69, Sub), rhs = Counter(7) +- expression 60 operands: lhs = Expression(70, Sub), rhs = Counter(4) +- expression 61 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 62 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 63 operands: lhs = Counter(1), rhs = Counter(3) +- expression 64 operands: lhs = Counter(4), rhs = Counter(5) +- expression 65 operands: lhs = Expression(66, Sub), rhs = Expression(74, Add) +- expression 66 operands: lhs = Expression(67, Add), rhs = Counter(5) +- expression 67 operands: lhs = Zero, rhs = Expression(68, Sub) +- expression 68 operands: lhs = Expression(69, Sub), rhs = Counter(7) +- expression 69 operands: lhs = Expression(70, Sub), rhs = Counter(4) +- expression 70 operands: lhs = Expression(71, Add), rhs = Counter(6) +- expression 71 operands: lhs = Expression(72, Add), rhs = Expression(73, Add) +- expression 72 operands: lhs = Counter(1), rhs = Counter(3) +- expression 73 operands: lhs = Counter(4), rhs = Counter(5) +- expression 74 operands: lhs = Counter(6), rhs = Counter(9) Number of file 0 mappings: 29 - Code(Counter(0)) at (prev + 35, 5) to (start + 1, 17) - Branch { true: Counter(1), false: Expression(0, Sub) } at (prev + 1, 12) to (start + 0, 17) @@ -221,34 +207,34 @@ Number of file 0 mappings: 29 = (Zero + ((c0 - c1) - c2)) - Branch { true: Counter(9), false: Counter(3) } at (prev + 0, 13) to (start + 0, 31) - Code(Counter(9)) at (prev + 0, 30) to (start + 0, 31) -- Code(Expression(71, Sub)) at (prev + 2, 13) to (start + 0, 14) +- Code(Expression(70, Sub)) at (prev + 2, 13) to (start + 0, 14) = (((c1 + c3) + (c4 + c5)) - c6) -- Code(Expression(72, Add)) at (prev + 0, 18) to (start + 0, 23) +- Code(Expression(71, Add)) at (prev + 0, 18) to (start + 0, 23) = ((c1 + c3) + (c4 + c5)) -- Branch { true: Expression(71, Sub), false: Counter(6) } at (prev + 0, 18) to (start + 0, 23) +- Branch { true: Expression(70, Sub), false: Counter(6) } at (prev + 0, 18) to (start + 0, 23) true = (((c1 + c3) + (c4 + c5)) - c6) -- Code(Expression(16, Add)) at (prev + 1, 16) to (start + 0, 21) - = ((((c1 + c3) + (c4 + c5)) - c6) + Zero) -- Branch { true: Counter(4), false: Expression(70, Sub) } at (prev + 0, 16) to (start + 0, 21) +- Code(Expression(70, Sub)) at (prev + 1, 16) to (start + 0, 21) + = (((c1 + c3) + (c4 + c5)) - c6) +- Branch { true: Counter(4), false: Expression(69, Sub) } at (prev + 0, 16) to (start + 0, 21) false = ((((c1 + c3) + (c4 + c5)) - c6) - c4) - Code(Zero) at (prev + 0, 22) to (start + 1, 14) -- Code(Expression(70, Sub)) at (prev + 2, 20) to (start + 0, 25) +- Code(Expression(69, Sub)) at (prev + 2, 20) to (start + 0, 25) = ((((c1 + c3) + (c4 + c5)) - c6) - c4) -- Branch { true: Counter(7), false: Expression(69, Sub) } at (prev + 0, 20) to (start + 0, 25) +- Branch { true: Counter(7), false: Expression(68, Sub) } at (prev + 0, 20) to (start + 0, 25) false = (((((c1 + c3) + (c4 + c5)) - c6) - c4) - c7) - Code(Zero) at (prev + 1, 27) to (start + 0, 31) - Code(Zero) at (prev + 0, 27) to (start + 0, 31) - Code(Zero) at (prev + 0, 32) to (start + 0, 34) -- Code(Expression(69, Sub)) at (prev + 1, 18) to (start + 0, 19) +- Code(Expression(68, Sub)) at (prev + 1, 18) to (start + 0, 19) = (((((c1 + c3) + (c4 + c5)) - c6) - c4) - c7) -- Code(Expression(68, Add)) at (prev + 1, 17) to (start + 0, 34) +- Code(Expression(67, Add)) at (prev + 1, 17) to (start + 0, 34) = (Zero + (((((c1 + c3) + (c4 + c5)) - c6) - c4) - c7)) -- Branch { true: Expression(67, Sub), false: Counter(5) } at (prev + 0, 17) to (start + 0, 35) +- Branch { true: Expression(66, Sub), false: Counter(5) } at (prev + 0, 17) to (start + 0, 35) true = ((Zero + (((((c1 + c3) + (c4 + c5)) - c6) - c4) - c7)) - c5) -- Code(Expression(67, Sub)) at (prev + 0, 34) to (start + 0, 35) +- Code(Expression(66, Sub)) at (prev + 0, 34) to (start + 0, 35) = ((Zero + (((((c1 + c3) + (c4 + c5)) - c6) - c4) - c7)) - c5) - Code(Counter(6)) at (prev + 3, 9) to (start + 0, 15) -- Code(Expression(66, Add)) at (prev + 1, 5) to (start + 0, 6) +- Code(Expression(65, Add)) at (prev + 1, 5) to (start + 0, 6) = (((Zero + (((((c1 + c3) + (c4 + c5)) - c6) - c4) - c7)) - c5) + (c6 + c9)) Function name: loops_branches::main