/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 97 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 343 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 36 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (13) IRSwT (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 7 ms] (17) IntTRS (18) RankingReductionPairProof [EQUIVALENT, 0 ms] (19) YES (20) JBCTerminationSCC (21) SCCToIRSProof [SOUND, 3 ms] (22) IRSwT (23) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (24) IRSwT (25) IRSwTTerminationDigraphProof [EQUIVALENT, 4 ms] (26) IRSwT (27) IntTRSCompressionProof [EQUIVALENT, 0 ms] (28) IRSwT (29) TempFilterProof [SOUND, 3 ms] (30) IntTRS (31) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (32) YES (33) JBCTerminationSCC (34) SCCToIRSProof [SOUND, 7 ms] (35) IRSwT (36) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (37) IRSwT (38) IRSwTTerminationDigraphProof [EQUIVALENT, 5 ms] (39) IRSwT (40) IntTRSCompressionProof [EQUIVALENT, 0 ms] (41) IRSwT (42) TempFilterProof [SOUND, 6 ms] (43) IntTRS (44) RankingReductionPairProof [EQUIVALENT, 0 ms] (45) YES (46) JBCTerminationSCC (47) SCCToIRSProof [SOUND, 5 ms] (48) IRSwT (49) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (50) IRSwT (51) IRSwTTerminationDigraphProof [EQUIVALENT, 4 ms] (52) IRSwT (53) IntTRSCompressionProof [EQUIVALENT, 0 ms] (54) IRSwT (55) TempFilterProof [SOUND, 2 ms] (56) IntTRS (57) PolynomialOrderProcessor [EQUIVALENT, 1 ms] (58) YES (59) JBCTerminationSCC (60) SCCToIRSProof [SOUND, 2 ms] (61) IRSwT (62) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (63) IRSwT (64) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (65) IRSwT (66) IntTRSCompressionProof [EQUIVALENT, 0 ms] (67) IRSwT (68) TempFilterProof [SOUND, 6 ms] (69) IntTRS (70) RankingReductionPairProof [EQUIVALENT, 0 ms] (71) YES (72) JBCTerminationSCC (73) SCCToIRSProof [SOUND, 2 ms] (74) IRSwT (75) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (76) IRSwT (77) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (78) IRSwT (79) IntTRSCompressionProof [EQUIVALENT, 0 ms] (80) IRSwT (81) TempFilterProof [SOUND, 7 ms] (82) IntTRS (83) RankingReductionPairProof [EQUIVALENT, 3 ms] (84) YES (85) JBCTerminationSCC (86) SCCToIRSProof [SOUND, 19 ms] (87) IRSwT (88) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (89) IRSwT (90) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (91) IRSwT (92) IntTRSCompressionProof [EQUIVALENT, 0 ms] (93) IRSwT (94) TempFilterProof [SOUND, 5 ms] (95) IntTRS (96) RankingReductionPairProof [EQUIVALENT, 0 ms] (97) YES (98) JBCTerminationSCC (99) SCCToIRSProof [SOUND, 19 ms] (100) IRSwT (101) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (102) IRSwT (103) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (104) IRSwT (105) IntTRSCompressionProof [EQUIVALENT, 0 ms] (106) IRSwT (107) TempFilterProof [SOUND, 6 ms] (108) IntTRS (109) PolynomialOrderProcessor [EQUIVALENT, 2 ms] (110) YES (111) JBCTerminationSCC (112) SCCToIRSProof [SOUND, 6 ms] (113) IRSwT (114) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (115) IRSwT (116) IRSwTTerminationDigraphProof [EQUIVALENT, 5 ms] (117) IRSwT (118) IntTRSCompressionProof [EQUIVALENT, 0 ms] (119) IRSwT (120) TempFilterProof [SOUND, 5 ms] (121) IntTRS (122) RankingReductionPairProof [EQUIVALENT, 2 ms] (123) YES (124) JBCTerminationSCC (125) SCCToIRSProof [SOUND, 4 ms] (126) IRSwT (127) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (128) IRSwT (129) IRSwTTerminationDigraphProof [EQUIVALENT, 8 ms] (130) IRSwT (131) IntTRSCompressionProof [EQUIVALENT, 0 ms] (132) IRSwT (133) TempFilterProof [SOUND, 34 ms] (134) IntTRS (135) RankingReductionPairProof [EQUIVALENT, 0 ms] (136) YES (137) JBCTerminationSCC (138) SCCToIRSProof [SOUND, 13 ms] (139) IRSwT (140) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (141) IRSwT (142) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (143) IRSwT (144) IntTRSCompressionProof [EQUIVALENT, 0 ms] (145) IRSwT (146) TempFilterProof [SOUND, 6 ms] (147) IntTRS (148) RankingReductionPairProof [EQUIVALENT, 3 ms] (149) YES (150) JBCTerminationSCC (151) SCCToIRSProof [SOUND, 1 ms] (152) IRSwT (153) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (154) IRSwT (155) IRSwTTerminationDigraphProof [EQUIVALENT, 4 ms] (156) IRSwT (157) IntTRSCompressionProof [EQUIVALENT, 0 ms] (158) IRSwT (159) TempFilterProof [SOUND, 6 ms] (160) IntTRS (161) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (162) YES (163) JBCTerminationSCC (164) SCCToIRSProof [SOUND, 19 ms] (165) IRSwT (166) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (167) IRSwT (168) IRSwTTerminationDigraphProof [EQUIVALENT, 27 ms] (169) IRSwT (170) IntTRSCompressionProof [EQUIVALENT, 0 ms] (171) IRSwT (172) TempFilterProof [SOUND, 23 ms] (173) IntTRS (174) RankingReductionPairProof [EQUIVALENT, 0 ms] (175) IntTRS (176) RankingReductionPairProof [EQUIVALENT, 4 ms] (177) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: public class Test9 { public static void main(String[] args) { long l = args.length; while (l > 0) { for (int i = (int) l ; i < 100; i++) test(i); l--; } } private static void test(int i) { int j, k, l, m; for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: public class Test9 { public static void main(String[] args) { long l = args.length; while (l > 0) { for (int i = (int) l ; i < 100; i++) test(i); l--; } } private static void test(int i) { int j, k, l, m; for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: Test9.main([Ljava/lang/String;)V: Graph of 36 nodes with 1 SCC. Test9.test(I)V: Graph of 122 nodes with 12 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 13 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (8) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1552_0_test_LE(EOS(STATIC_1552), i394, i394) -> f1557_0_test_LE(EOS(STATIC_1557), i394, i394) :|: TRUE f1557_0_test_LE(EOS(STATIC_1557), i394, i394) -> f1561_0_test_Inc(EOS(STATIC_1561), i394) :|: i394 > 0 f1561_0_test_Inc(EOS(STATIC_1561), i394) -> f1573_0_test_JMP(EOS(STATIC_1573), i394 + -1) :|: TRUE f1573_0_test_JMP(EOS(STATIC_1573), i397) -> f1680_0_test_Load(EOS(STATIC_1680), i397) :|: TRUE f1680_0_test_Load(EOS(STATIC_1680), i397) -> f1549_0_test_Load(EOS(STATIC_1549), i397) :|: TRUE f1549_0_test_Load(EOS(STATIC_1549), i392) -> f1552_0_test_LE(EOS(STATIC_1552), i392, i392) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1552_0_test_LE(EOS(STATIC_1552), i394:0, i394:0) -> f1552_0_test_LE(EOS(STATIC_1552), i394:0 - 1, i394:0 - 1) :|: i394:0 > 0 Filtered constant ground arguments: f1552_0_test_LE(x1, x2, x3) -> f1552_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1552_0_test_LE(x1, x2) -> f1552_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1552_0_test_LE(i394:0) -> f1552_0_test_LE(i394:0 - 1) :|: i394:0 > 0 ---------------------------------------- (9) Obligation: Rules: f1552_0_test_LE(i394:0) -> f1552_0_test_LE(i394:0 - 1) :|: i394:0 > 0 ---------------------------------------- (10) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (11) Obligation: Rules: f1552_0_test_LE(i394:0) -> f1552_0_test_LE(arith) :|: i394:0 > 0 && arith = i394:0 - 1 ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1552_0_test_LE(i394:0) -> f1552_0_test_LE(arith) :|: i394:0 > 0 && arith = i394:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f1552_0_test_LE(i394:0) -> f1552_0_test_LE(arith) :|: i394:0 > 0 && arith = i394:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (14) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (15) Obligation: Rules: f1552_0_test_LE(i394:0:0) -> f1552_0_test_LE(i394:0:0 - 1) :|: i394:0:0 > 0 ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1552_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (17) Obligation: Rules: f1552_0_test_LE(i394:0:0) -> f1552_0_test_LE(c) :|: c = i394:0:0 - 1 && i394:0:0 > 0 ---------------------------------------- (18) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1552_0_test_LE ] = f1552_0_test_LE_1 The following rules are decreasing: f1552_0_test_LE(i394:0:0) -> f1552_0_test_LE(c) :|: c = i394:0:0 - 1 && i394:0:0 > 0 The following rules are bounded: f1552_0_test_LE(i394:0:0) -> f1552_0_test_LE(c) :|: c = i394:0:0 - 1 && i394:0:0 > 0 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (21) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1399_0_test_LE(EOS(STATIC_1399), i363, i363) -> f1403_0_test_LE(EOS(STATIC_1403), i363, i363) :|: TRUE f1403_0_test_LE(EOS(STATIC_1403), i363, i363) -> f1408_0_test_Inc(EOS(STATIC_1408), i363) :|: i363 > 0 f1408_0_test_Inc(EOS(STATIC_1408), i363) -> f1414_0_test_JMP(EOS(STATIC_1414), i363 + -1) :|: TRUE f1414_0_test_JMP(EOS(STATIC_1414), i364) -> f1521_0_test_Load(EOS(STATIC_1521), i364) :|: TRUE f1521_0_test_Load(EOS(STATIC_1521), i364) -> f1396_0_test_Load(EOS(STATIC_1396), i364) :|: TRUE f1396_0_test_Load(EOS(STATIC_1396), i358) -> f1399_0_test_LE(EOS(STATIC_1399), i358, i358) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1399_0_test_LE(EOS(STATIC_1399), i363:0, i363:0) -> f1399_0_test_LE(EOS(STATIC_1399), i363:0 - 1, i363:0 - 1) :|: i363:0 > 0 Filtered constant ground arguments: f1399_0_test_LE(x1, x2, x3) -> f1399_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1399_0_test_LE(x1, x2) -> f1399_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1399_0_test_LE(i363:0) -> f1399_0_test_LE(i363:0 - 1) :|: i363:0 > 0 ---------------------------------------- (22) Obligation: Rules: f1399_0_test_LE(i363:0) -> f1399_0_test_LE(i363:0 - 1) :|: i363:0 > 0 ---------------------------------------- (23) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (24) Obligation: Rules: f1399_0_test_LE(i363:0) -> f1399_0_test_LE(arith) :|: i363:0 > 0 && arith = i363:0 - 1 ---------------------------------------- (25) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1399_0_test_LE(i363:0) -> f1399_0_test_LE(arith) :|: i363:0 > 0 && arith = i363:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (26) Obligation: Termination digraph: Nodes: (1) f1399_0_test_LE(i363:0) -> f1399_0_test_LE(arith) :|: i363:0 > 0 && arith = i363:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (27) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (28) Obligation: Rules: f1399_0_test_LE(i363:0:0) -> f1399_0_test_LE(i363:0:0 - 1) :|: i363:0:0 > 0 ---------------------------------------- (29) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1399_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (30) Obligation: Rules: f1399_0_test_LE(i363:0:0) -> f1399_0_test_LE(c) :|: c = i363:0:0 - 1 && i363:0:0 > 0 ---------------------------------------- (31) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1399_0_test_LE(x)] = x The following rules are decreasing: f1399_0_test_LE(i363:0:0) -> f1399_0_test_LE(c) :|: c = i363:0:0 - 1 && i363:0:0 > 0 The following rules are bounded: f1399_0_test_LE(i363:0:0) -> f1399_0_test_LE(c) :|: c = i363:0:0 - 1 && i363:0:0 > 0 ---------------------------------------- (32) YES ---------------------------------------- (33) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (34) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1322_0_test_LE(EOS(STATIC_1322), i338, i338) -> f1325_0_test_LE(EOS(STATIC_1325), i338, i338) :|: TRUE f1325_0_test_LE(EOS(STATIC_1325), i338, i338) -> f1331_0_test_Inc(EOS(STATIC_1331), i338) :|: i338 > 0 f1331_0_test_Inc(EOS(STATIC_1331), i338) -> f1335_0_test_JMP(EOS(STATIC_1335), i338 + -1) :|: TRUE f1335_0_test_JMP(EOS(STATIC_1335), i341) -> f1371_0_test_Load(EOS(STATIC_1371), i341) :|: TRUE f1371_0_test_Load(EOS(STATIC_1371), i341) -> f1319_0_test_Load(EOS(STATIC_1319), i341) :|: TRUE f1319_0_test_Load(EOS(STATIC_1319), i332) -> f1322_0_test_LE(EOS(STATIC_1322), i332, i332) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1322_0_test_LE(EOS(STATIC_1322), i338:0, i338:0) -> f1322_0_test_LE(EOS(STATIC_1322), i338:0 - 1, i338:0 - 1) :|: i338:0 > 0 Filtered constant ground arguments: f1322_0_test_LE(x1, x2, x3) -> f1322_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1322_0_test_LE(x1, x2) -> f1322_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1322_0_test_LE(i338:0) -> f1322_0_test_LE(i338:0 - 1) :|: i338:0 > 0 ---------------------------------------- (35) Obligation: Rules: f1322_0_test_LE(i338:0) -> f1322_0_test_LE(i338:0 - 1) :|: i338:0 > 0 ---------------------------------------- (36) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (37) Obligation: Rules: f1322_0_test_LE(i338:0) -> f1322_0_test_LE(arith) :|: i338:0 > 0 && arith = i338:0 - 1 ---------------------------------------- (38) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1322_0_test_LE(i338:0) -> f1322_0_test_LE(arith) :|: i338:0 > 0 && arith = i338:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (39) Obligation: Termination digraph: Nodes: (1) f1322_0_test_LE(i338:0) -> f1322_0_test_LE(arith) :|: i338:0 > 0 && arith = i338:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (40) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (41) Obligation: Rules: f1322_0_test_LE(i338:0:0) -> f1322_0_test_LE(i338:0:0 - 1) :|: i338:0:0 > 0 ---------------------------------------- (42) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1322_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (43) Obligation: Rules: f1322_0_test_LE(i338:0:0) -> f1322_0_test_LE(c) :|: c = i338:0:0 - 1 && i338:0:0 > 0 ---------------------------------------- (44) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1322_0_test_LE ] = f1322_0_test_LE_1 The following rules are decreasing: f1322_0_test_LE(i338:0:0) -> f1322_0_test_LE(c) :|: c = i338:0:0 - 1 && i338:0:0 > 0 The following rules are bounded: f1322_0_test_LE(i338:0:0) -> f1322_0_test_LE(c) :|: c = i338:0:0 - 1 && i338:0:0 > 0 ---------------------------------------- (45) YES ---------------------------------------- (46) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (47) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1283_0_test_LE(EOS(STATIC_1283), i325, i325) -> f1286_0_test_LE(EOS(STATIC_1286), i325, i325) :|: TRUE f1286_0_test_LE(EOS(STATIC_1286), i325, i325) -> f1291_0_test_Inc(EOS(STATIC_1291), i325) :|: i325 > 0 f1291_0_test_Inc(EOS(STATIC_1291), i325) -> f1293_0_test_JMP(EOS(STATIC_1293), i325 + -1) :|: TRUE f1293_0_test_JMP(EOS(STATIC_1293), i328) -> f1295_0_test_Load(EOS(STATIC_1295), i328) :|: TRUE f1295_0_test_Load(EOS(STATIC_1295), i328) -> f1279_0_test_Load(EOS(STATIC_1279), i328) :|: TRUE f1279_0_test_Load(EOS(STATIC_1279), i319) -> f1283_0_test_LE(EOS(STATIC_1283), i319, i319) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1283_0_test_LE(EOS(STATIC_1283), i325:0, i325:0) -> f1283_0_test_LE(EOS(STATIC_1283), i325:0 - 1, i325:0 - 1) :|: i325:0 > 0 Filtered constant ground arguments: f1283_0_test_LE(x1, x2, x3) -> f1283_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1283_0_test_LE(x1, x2) -> f1283_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1283_0_test_LE(i325:0) -> f1283_0_test_LE(i325:0 - 1) :|: i325:0 > 0 ---------------------------------------- (48) Obligation: Rules: f1283_0_test_LE(i325:0) -> f1283_0_test_LE(i325:0 - 1) :|: i325:0 > 0 ---------------------------------------- (49) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (50) Obligation: Rules: f1283_0_test_LE(i325:0) -> f1283_0_test_LE(arith) :|: i325:0 > 0 && arith = i325:0 - 1 ---------------------------------------- (51) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1283_0_test_LE(i325:0) -> f1283_0_test_LE(arith) :|: i325:0 > 0 && arith = i325:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (52) Obligation: Termination digraph: Nodes: (1) f1283_0_test_LE(i325:0) -> f1283_0_test_LE(arith) :|: i325:0 > 0 && arith = i325:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (53) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (54) Obligation: Rules: f1283_0_test_LE(i325:0:0) -> f1283_0_test_LE(i325:0:0 - 1) :|: i325:0:0 > 0 ---------------------------------------- (55) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1283_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (56) Obligation: Rules: f1283_0_test_LE(i325:0:0) -> f1283_0_test_LE(c) :|: c = i325:0:0 - 1 && i325:0:0 > 0 ---------------------------------------- (57) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1283_0_test_LE(x)] = x The following rules are decreasing: f1283_0_test_LE(i325:0:0) -> f1283_0_test_LE(c) :|: c = i325:0:0 - 1 && i325:0:0 > 0 The following rules are bounded: f1283_0_test_LE(i325:0:0) -> f1283_0_test_LE(c) :|: c = i325:0:0 - 1 && i325:0:0 > 0 ---------------------------------------- (58) YES ---------------------------------------- (59) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (60) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1205_0_test_LE(EOS(STATIC_1205), i305, i305) -> f1209_0_test_LE(EOS(STATIC_1209), i305, i305) :|: TRUE f1209_0_test_LE(EOS(STATIC_1209), i305, i305) -> f1214_0_test_Inc(EOS(STATIC_1214), i305) :|: i305 > 0 f1214_0_test_Inc(EOS(STATIC_1214), i305) -> f1219_0_test_JMP(EOS(STATIC_1219), i305 + -1) :|: TRUE f1219_0_test_JMP(EOS(STATIC_1219), i307) -> f1255_0_test_Load(EOS(STATIC_1255), i307) :|: TRUE f1255_0_test_Load(EOS(STATIC_1255), i307) -> f1202_0_test_Load(EOS(STATIC_1202), i307) :|: TRUE f1202_0_test_Load(EOS(STATIC_1202), i301) -> f1205_0_test_LE(EOS(STATIC_1205), i301, i301) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1205_0_test_LE(EOS(STATIC_1205), i305:0, i305:0) -> f1205_0_test_LE(EOS(STATIC_1205), i305:0 - 1, i305:0 - 1) :|: i305:0 > 0 Filtered constant ground arguments: f1205_0_test_LE(x1, x2, x3) -> f1205_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1205_0_test_LE(x1, x2) -> f1205_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1205_0_test_LE(i305:0) -> f1205_0_test_LE(i305:0 - 1) :|: i305:0 > 0 ---------------------------------------- (61) Obligation: Rules: f1205_0_test_LE(i305:0) -> f1205_0_test_LE(i305:0 - 1) :|: i305:0 > 0 ---------------------------------------- (62) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (63) Obligation: Rules: f1205_0_test_LE(i305:0) -> f1205_0_test_LE(arith) :|: i305:0 > 0 && arith = i305:0 - 1 ---------------------------------------- (64) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1205_0_test_LE(i305:0) -> f1205_0_test_LE(arith) :|: i305:0 > 0 && arith = i305:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (65) Obligation: Termination digraph: Nodes: (1) f1205_0_test_LE(i305:0) -> f1205_0_test_LE(arith) :|: i305:0 > 0 && arith = i305:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (66) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (67) Obligation: Rules: f1205_0_test_LE(i305:0:0) -> f1205_0_test_LE(i305:0:0 - 1) :|: i305:0:0 > 0 ---------------------------------------- (68) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1205_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (69) Obligation: Rules: f1205_0_test_LE(i305:0:0) -> f1205_0_test_LE(c) :|: c = i305:0:0 - 1 && i305:0:0 > 0 ---------------------------------------- (70) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1205_0_test_LE ] = f1205_0_test_LE_1 The following rules are decreasing: f1205_0_test_LE(i305:0:0) -> f1205_0_test_LE(c) :|: c = i305:0:0 - 1 && i305:0:0 > 0 The following rules are bounded: f1205_0_test_LE(i305:0:0) -> f1205_0_test_LE(c) :|: c = i305:0:0 - 1 && i305:0:0 > 0 ---------------------------------------- (71) YES ---------------------------------------- (72) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (73) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1131_0_test_LE(EOS(STATIC_1131), i283, i283) -> f1135_0_test_LE(EOS(STATIC_1135), i283, i283) :|: TRUE f1135_0_test_LE(EOS(STATIC_1135), i283, i283) -> f1139_0_test_Inc(EOS(STATIC_1139), i283) :|: i283 > 0 f1139_0_test_Inc(EOS(STATIC_1139), i283) -> f1144_0_test_JMP(EOS(STATIC_1144), i283 + -1) :|: TRUE f1144_0_test_JMP(EOS(STATIC_1144), i286) -> f1179_0_test_Load(EOS(STATIC_1179), i286) :|: TRUE f1179_0_test_Load(EOS(STATIC_1179), i286) -> f1129_0_test_Load(EOS(STATIC_1129), i286) :|: TRUE f1129_0_test_Load(EOS(STATIC_1129), i278) -> f1131_0_test_LE(EOS(STATIC_1131), i278, i278) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1131_0_test_LE(EOS(STATIC_1131), i283:0, i283:0) -> f1131_0_test_LE(EOS(STATIC_1131), i283:0 - 1, i283:0 - 1) :|: i283:0 > 0 Filtered constant ground arguments: f1131_0_test_LE(x1, x2, x3) -> f1131_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1131_0_test_LE(x1, x2) -> f1131_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1131_0_test_LE(i283:0) -> f1131_0_test_LE(i283:0 - 1) :|: i283:0 > 0 ---------------------------------------- (74) Obligation: Rules: f1131_0_test_LE(i283:0) -> f1131_0_test_LE(i283:0 - 1) :|: i283:0 > 0 ---------------------------------------- (75) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (76) Obligation: Rules: f1131_0_test_LE(i283:0) -> f1131_0_test_LE(arith) :|: i283:0 > 0 && arith = i283:0 - 1 ---------------------------------------- (77) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1131_0_test_LE(i283:0) -> f1131_0_test_LE(arith) :|: i283:0 > 0 && arith = i283:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (78) Obligation: Termination digraph: Nodes: (1) f1131_0_test_LE(i283:0) -> f1131_0_test_LE(arith) :|: i283:0 > 0 && arith = i283:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (79) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (80) Obligation: Rules: f1131_0_test_LE(i283:0:0) -> f1131_0_test_LE(i283:0:0 - 1) :|: i283:0:0 > 0 ---------------------------------------- (81) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1131_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (82) Obligation: Rules: f1131_0_test_LE(i283:0:0) -> f1131_0_test_LE(c) :|: c = i283:0:0 - 1 && i283:0:0 > 0 ---------------------------------------- (83) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1131_0_test_LE ] = f1131_0_test_LE_1 The following rules are decreasing: f1131_0_test_LE(i283:0:0) -> f1131_0_test_LE(c) :|: c = i283:0:0 - 1 && i283:0:0 > 0 The following rules are bounded: f1131_0_test_LE(i283:0:0) -> f1131_0_test_LE(c) :|: c = i283:0:0 - 1 && i283:0:0 > 0 ---------------------------------------- (84) YES ---------------------------------------- (85) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (86) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1053_0_test_LE(EOS(STATIC_1053), i264, i264) -> f1058_0_test_LE(EOS(STATIC_1058), i264, i264) :|: TRUE f1058_0_test_LE(EOS(STATIC_1058), i264, i264) -> f1062_0_test_Inc(EOS(STATIC_1062), i264) :|: i264 > 0 f1062_0_test_Inc(EOS(STATIC_1062), i264) -> f1067_0_test_JMP(EOS(STATIC_1067), i264 + -1) :|: TRUE f1067_0_test_JMP(EOS(STATIC_1067), i266) -> f1103_0_test_Load(EOS(STATIC_1103), i266) :|: TRUE f1103_0_test_Load(EOS(STATIC_1103), i266) -> f1051_0_test_Load(EOS(STATIC_1051), i266) :|: TRUE f1051_0_test_Load(EOS(STATIC_1051), i261) -> f1053_0_test_LE(EOS(STATIC_1053), i261, i261) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1053_0_test_LE(EOS(STATIC_1053), i264:0, i264:0) -> f1053_0_test_LE(EOS(STATIC_1053), i264:0 - 1, i264:0 - 1) :|: i264:0 > 0 Filtered constant ground arguments: f1053_0_test_LE(x1, x2, x3) -> f1053_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1053_0_test_LE(x1, x2) -> f1053_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1053_0_test_LE(i264:0) -> f1053_0_test_LE(i264:0 - 1) :|: i264:0 > 0 ---------------------------------------- (87) Obligation: Rules: f1053_0_test_LE(i264:0) -> f1053_0_test_LE(i264:0 - 1) :|: i264:0 > 0 ---------------------------------------- (88) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (89) Obligation: Rules: f1053_0_test_LE(i264:0) -> f1053_0_test_LE(arith) :|: i264:0 > 0 && arith = i264:0 - 1 ---------------------------------------- (90) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1053_0_test_LE(i264:0) -> f1053_0_test_LE(arith) :|: i264:0 > 0 && arith = i264:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (91) Obligation: Termination digraph: Nodes: (1) f1053_0_test_LE(i264:0) -> f1053_0_test_LE(arith) :|: i264:0 > 0 && arith = i264:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (92) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (93) Obligation: Rules: f1053_0_test_LE(i264:0:0) -> f1053_0_test_LE(i264:0:0 - 1) :|: i264:0:0 > 0 ---------------------------------------- (94) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1053_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (95) Obligation: Rules: f1053_0_test_LE(i264:0:0) -> f1053_0_test_LE(c) :|: c = i264:0:0 - 1 && i264:0:0 > 0 ---------------------------------------- (96) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1053_0_test_LE ] = f1053_0_test_LE_1 The following rules are decreasing: f1053_0_test_LE(i264:0:0) -> f1053_0_test_LE(c) :|: c = i264:0:0 - 1 && i264:0:0 > 0 The following rules are bounded: f1053_0_test_LE(i264:0:0) -> f1053_0_test_LE(c) :|: c = i264:0:0 - 1 && i264:0:0 > 0 ---------------------------------------- (97) YES ---------------------------------------- (98) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (99) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1014_0_test_LE(EOS(STATIC_1014), i251, i251) -> f1017_0_test_LE(EOS(STATIC_1017), i251, i251) :|: TRUE f1017_0_test_LE(EOS(STATIC_1017), i251, i251) -> f1021_0_test_Inc(EOS(STATIC_1021), i251) :|: i251 > 0 f1021_0_test_Inc(EOS(STATIC_1021), i251) -> f1024_0_test_JMP(EOS(STATIC_1024), i251 + -1) :|: TRUE f1024_0_test_JMP(EOS(STATIC_1024), i254) -> f1044_0_test_Load(EOS(STATIC_1044), i254) :|: TRUE f1044_0_test_Load(EOS(STATIC_1044), i254) -> f1011_0_test_Load(EOS(STATIC_1011), i254) :|: TRUE f1011_0_test_Load(EOS(STATIC_1011), i245) -> f1014_0_test_LE(EOS(STATIC_1014), i245, i245) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1014_0_test_LE(EOS(STATIC_1014), i251:0, i251:0) -> f1014_0_test_LE(EOS(STATIC_1014), i251:0 - 1, i251:0 - 1) :|: i251:0 > 0 Filtered constant ground arguments: f1014_0_test_LE(x1, x2, x3) -> f1014_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1014_0_test_LE(x1, x2) -> f1014_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1014_0_test_LE(i251:0) -> f1014_0_test_LE(i251:0 - 1) :|: i251:0 > 0 ---------------------------------------- (100) Obligation: Rules: f1014_0_test_LE(i251:0) -> f1014_0_test_LE(i251:0 - 1) :|: i251:0 > 0 ---------------------------------------- (101) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (102) Obligation: Rules: f1014_0_test_LE(i251:0) -> f1014_0_test_LE(arith) :|: i251:0 > 0 && arith = i251:0 - 1 ---------------------------------------- (103) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1014_0_test_LE(i251:0) -> f1014_0_test_LE(arith) :|: i251:0 > 0 && arith = i251:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (104) Obligation: Termination digraph: Nodes: (1) f1014_0_test_LE(i251:0) -> f1014_0_test_LE(arith) :|: i251:0 > 0 && arith = i251:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (105) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (106) Obligation: Rules: f1014_0_test_LE(i251:0:0) -> f1014_0_test_LE(i251:0:0 - 1) :|: i251:0:0 > 0 ---------------------------------------- (107) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1014_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (108) Obligation: Rules: f1014_0_test_LE(i251:0:0) -> f1014_0_test_LE(c) :|: c = i251:0:0 - 1 && i251:0:0 > 0 ---------------------------------------- (109) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1014_0_test_LE(x)] = x The following rules are decreasing: f1014_0_test_LE(i251:0:0) -> f1014_0_test_LE(c) :|: c = i251:0:0 - 1 && i251:0:0 > 0 The following rules are bounded: f1014_0_test_LE(i251:0:0) -> f1014_0_test_LE(c) :|: c = i251:0:0 - 1 && i251:0:0 > 0 ---------------------------------------- (110) YES ---------------------------------------- (111) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (112) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f944_0_test_LE(EOS(STATIC_944), i233, i233) -> f948_0_test_LE(EOS(STATIC_948), i233, i233) :|: TRUE f948_0_test_LE(EOS(STATIC_948), i233, i233) -> f952_0_test_Inc(EOS(STATIC_952), i233) :|: i233 > 0 f952_0_test_Inc(EOS(STATIC_952), i233) -> f956_0_test_JMP(EOS(STATIC_956), i233 + -1) :|: TRUE f956_0_test_JMP(EOS(STATIC_956), i236) -> f989_0_test_Load(EOS(STATIC_989), i236) :|: TRUE f989_0_test_Load(EOS(STATIC_989), i236) -> f943_0_test_Load(EOS(STATIC_943), i236) :|: TRUE f943_0_test_Load(EOS(STATIC_943), i231) -> f944_0_test_LE(EOS(STATIC_944), i231, i231) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f944_0_test_LE(EOS(STATIC_944), i233:0, i233:0) -> f944_0_test_LE(EOS(STATIC_944), i233:0 - 1, i233:0 - 1) :|: i233:0 > 0 Filtered constant ground arguments: f944_0_test_LE(x1, x2, x3) -> f944_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f944_0_test_LE(x1, x2) -> f944_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f944_0_test_LE(i233:0) -> f944_0_test_LE(i233:0 - 1) :|: i233:0 > 0 ---------------------------------------- (113) Obligation: Rules: f944_0_test_LE(i233:0) -> f944_0_test_LE(i233:0 - 1) :|: i233:0 > 0 ---------------------------------------- (114) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (115) Obligation: Rules: f944_0_test_LE(i233:0) -> f944_0_test_LE(arith) :|: i233:0 > 0 && arith = i233:0 - 1 ---------------------------------------- (116) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f944_0_test_LE(i233:0) -> f944_0_test_LE(arith) :|: i233:0 > 0 && arith = i233:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (117) Obligation: Termination digraph: Nodes: (1) f944_0_test_LE(i233:0) -> f944_0_test_LE(arith) :|: i233:0 > 0 && arith = i233:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (118) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (119) Obligation: Rules: f944_0_test_LE(i233:0:0) -> f944_0_test_LE(i233:0:0 - 1) :|: i233:0:0 > 0 ---------------------------------------- (120) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f944_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (121) Obligation: Rules: f944_0_test_LE(i233:0:0) -> f944_0_test_LE(c) :|: c = i233:0:0 - 1 && i233:0:0 > 0 ---------------------------------------- (122) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f944_0_test_LE ] = f944_0_test_LE_1 The following rules are decreasing: f944_0_test_LE(i233:0:0) -> f944_0_test_LE(c) :|: c = i233:0:0 - 1 && i233:0:0 > 0 The following rules are bounded: f944_0_test_LE(i233:0:0) -> f944_0_test_LE(c) :|: c = i233:0:0 - 1 && i233:0:0 > 0 ---------------------------------------- (123) YES ---------------------------------------- (124) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (125) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f875_0_test_LE(EOS(STATIC_875), i217, i217) -> f879_0_test_LE(EOS(STATIC_879), i217, i217) :|: TRUE f879_0_test_LE(EOS(STATIC_879), i217, i217) -> f883_0_test_Inc(EOS(STATIC_883), i217) :|: i217 > 0 f883_0_test_Inc(EOS(STATIC_883), i217) -> f888_0_test_JMP(EOS(STATIC_888), i217 + -1) :|: TRUE f888_0_test_JMP(EOS(STATIC_888), i219) -> f920_0_test_Load(EOS(STATIC_920), i219) :|: TRUE f920_0_test_Load(EOS(STATIC_920), i219) -> f872_0_test_Load(EOS(STATIC_872), i219) :|: TRUE f872_0_test_Load(EOS(STATIC_872), i214) -> f875_0_test_LE(EOS(STATIC_875), i214, i214) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f875_0_test_LE(EOS(STATIC_875), i217:0, i217:0) -> f875_0_test_LE(EOS(STATIC_875), i217:0 - 1, i217:0 - 1) :|: i217:0 > 0 Filtered constant ground arguments: f875_0_test_LE(x1, x2, x3) -> f875_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f875_0_test_LE(x1, x2) -> f875_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f875_0_test_LE(i217:0) -> f875_0_test_LE(i217:0 - 1) :|: i217:0 > 0 ---------------------------------------- (126) Obligation: Rules: f875_0_test_LE(i217:0) -> f875_0_test_LE(i217:0 - 1) :|: i217:0 > 0 ---------------------------------------- (127) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (128) Obligation: Rules: f875_0_test_LE(i217:0) -> f875_0_test_LE(arith) :|: i217:0 > 0 && arith = i217:0 - 1 ---------------------------------------- (129) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f875_0_test_LE(i217:0) -> f875_0_test_LE(arith) :|: i217:0 > 0 && arith = i217:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (130) Obligation: Termination digraph: Nodes: (1) f875_0_test_LE(i217:0) -> f875_0_test_LE(arith) :|: i217:0 > 0 && arith = i217:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (131) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (132) Obligation: Rules: f875_0_test_LE(i217:0:0) -> f875_0_test_LE(i217:0:0 - 1) :|: i217:0:0 > 0 ---------------------------------------- (133) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f875_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (134) Obligation: Rules: f875_0_test_LE(i217:0:0) -> f875_0_test_LE(c) :|: c = i217:0:0 - 1 && i217:0:0 > 0 ---------------------------------------- (135) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f875_0_test_LE ] = f875_0_test_LE_1 The following rules are decreasing: f875_0_test_LE(i217:0:0) -> f875_0_test_LE(c) :|: c = i217:0:0 - 1 && i217:0:0 > 0 The following rules are bounded: f875_0_test_LE(i217:0:0) -> f875_0_test_LE(c) :|: c = i217:0:0 - 1 && i217:0:0 > 0 ---------------------------------------- (136) YES ---------------------------------------- (137) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (138) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f769_0_test_LE(EOS(STATIC_769), i184, i184) -> f774_0_test_LE(EOS(STATIC_774), i184, i184) :|: TRUE f774_0_test_LE(EOS(STATIC_774), i184, i184) -> f778_0_test_Inc(EOS(STATIC_778), i184) :|: i184 > 0 f778_0_test_Inc(EOS(STATIC_778), i184) -> f783_0_test_JMP(EOS(STATIC_783), i184 + -1) :|: TRUE f783_0_test_JMP(EOS(STATIC_783), i185) -> f813_0_test_Load(EOS(STATIC_813), i185) :|: TRUE f813_0_test_Load(EOS(STATIC_813), i185) -> f766_0_test_Load(EOS(STATIC_766), i185) :|: TRUE f766_0_test_Load(EOS(STATIC_766), i182) -> f769_0_test_LE(EOS(STATIC_769), i182, i182) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f769_0_test_LE(EOS(STATIC_769), i184:0, i184:0) -> f769_0_test_LE(EOS(STATIC_769), i184:0 - 1, i184:0 - 1) :|: i184:0 > 0 Filtered constant ground arguments: f769_0_test_LE(x1, x2, x3) -> f769_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f769_0_test_LE(x1, x2) -> f769_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f769_0_test_LE(i184:0) -> f769_0_test_LE(i184:0 - 1) :|: i184:0 > 0 ---------------------------------------- (139) Obligation: Rules: f769_0_test_LE(i184:0) -> f769_0_test_LE(i184:0 - 1) :|: i184:0 > 0 ---------------------------------------- (140) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (141) Obligation: Rules: f769_0_test_LE(i184:0) -> f769_0_test_LE(arith) :|: i184:0 > 0 && arith = i184:0 - 1 ---------------------------------------- (142) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f769_0_test_LE(i184:0) -> f769_0_test_LE(arith) :|: i184:0 > 0 && arith = i184:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (143) Obligation: Termination digraph: Nodes: (1) f769_0_test_LE(i184:0) -> f769_0_test_LE(arith) :|: i184:0 > 0 && arith = i184:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (144) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (145) Obligation: Rules: f769_0_test_LE(i184:0:0) -> f769_0_test_LE(i184:0:0 - 1) :|: i184:0:0 > 0 ---------------------------------------- (146) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f769_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (147) Obligation: Rules: f769_0_test_LE(i184:0:0) -> f769_0_test_LE(c) :|: c = i184:0:0 - 1 && i184:0:0 > 0 ---------------------------------------- (148) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f769_0_test_LE ] = f769_0_test_LE_1 The following rules are decreasing: f769_0_test_LE(i184:0:0) -> f769_0_test_LE(c) :|: c = i184:0:0 - 1 && i184:0:0 > 0 The following rules are bounded: f769_0_test_LE(i184:0:0) -> f769_0_test_LE(c) :|: c = i184:0:0 - 1 && i184:0:0 > 0 ---------------------------------------- (149) YES ---------------------------------------- (150) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (151) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f704_0_test_LE(EOS(STATIC_704), i170, i170) -> f708_0_test_LE(EOS(STATIC_708), i170, i170) :|: TRUE f708_0_test_LE(EOS(STATIC_708), i170, i170) -> f713_0_test_Inc(EOS(STATIC_713), i170) :|: i170 > 0 f713_0_test_Inc(EOS(STATIC_713), i170) -> f717_0_test_JMP(EOS(STATIC_717), i170 + -1) :|: TRUE f717_0_test_JMP(EOS(STATIC_717), i171) -> f744_0_test_Load(EOS(STATIC_744), i171) :|: TRUE f744_0_test_Load(EOS(STATIC_744), i171) -> f700_0_test_Load(EOS(STATIC_700), i171) :|: TRUE f700_0_test_Load(EOS(STATIC_700), i165) -> f704_0_test_LE(EOS(STATIC_704), i165, i165) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f704_0_test_LE(EOS(STATIC_704), i170:0, i170:0) -> f704_0_test_LE(EOS(STATIC_704), i170:0 - 1, i170:0 - 1) :|: i170:0 > 0 Filtered constant ground arguments: f704_0_test_LE(x1, x2, x3) -> f704_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f704_0_test_LE(x1, x2) -> f704_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f704_0_test_LE(i170:0) -> f704_0_test_LE(i170:0 - 1) :|: i170:0 > 0 ---------------------------------------- (152) Obligation: Rules: f704_0_test_LE(i170:0) -> f704_0_test_LE(i170:0 - 1) :|: i170:0 > 0 ---------------------------------------- (153) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (154) Obligation: Rules: f704_0_test_LE(i170:0) -> f704_0_test_LE(arith) :|: i170:0 > 0 && arith = i170:0 - 1 ---------------------------------------- (155) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f704_0_test_LE(i170:0) -> f704_0_test_LE(arith) :|: i170:0 > 0 && arith = i170:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (156) Obligation: Termination digraph: Nodes: (1) f704_0_test_LE(i170:0) -> f704_0_test_LE(arith) :|: i170:0 > 0 && arith = i170:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (157) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (158) Obligation: Rules: f704_0_test_LE(i170:0:0) -> f704_0_test_LE(i170:0:0 - 1) :|: i170:0:0 > 0 ---------------------------------------- (159) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f704_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (160) Obligation: Rules: f704_0_test_LE(i170:0:0) -> f704_0_test_LE(c) :|: c = i170:0:0 - 1 && i170:0:0 > 0 ---------------------------------------- (161) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f704_0_test_LE(x)] = x The following rules are decreasing: f704_0_test_LE(i170:0:0) -> f704_0_test_LE(c) :|: c = i170:0:0 - 1 && i170:0:0 > 0 The following rules are bounded: f704_0_test_LE(i170:0:0) -> f704_0_test_LE(c) :|: c = i170:0:0 - 1 && i170:0:0 > 0 ---------------------------------------- (162) YES ---------------------------------------- (163) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.main([Ljava/lang/String;)V SCC calls the following helper methods: Test9.test(I)V Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (164) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 29 IRulesP rules: f15_0_main_ConstantStackPush(EOS(STATIC_15), i4, i4) -> f16_0_main_Cmp(EOS(STATIC_16), i4, i4) :|: TRUE f16_0_main_Cmp(EOS(STATIC_16), i5, i5) -> f20_0_main_Cmp(EOS(STATIC_20), i5, i5) :|: TRUE f20_0_main_Cmp(EOS(STATIC_20), i5, i5) -> f34_0_main_LE(EOS(STATIC_34), i5, 1) :|: TRUE f34_0_main_LE(EOS(STATIC_34), i5, matching1) -> f36_0_main_Load(EOS(STATIC_36), i5) :|: 1 > 0 && matching1 = 1 f36_0_main_Load(EOS(STATIC_36), i5) -> f38_0_main_TypeCast(EOS(STATIC_38), i5, i5) :|: TRUE f38_0_main_TypeCast(EOS(STATIC_38), i5, i5) -> f39_0_main_Store(EOS(STATIC_39), i5, i10) :|: i10 = i5 f39_0_main_Store(EOS(STATIC_39), i5, i10) -> f41_0_main_Load(EOS(STATIC_41), i5, i10) :|: TRUE f41_0_main_Load(EOS(STATIC_41), i5, i10) -> f42_0_main_ConstantStackPush(EOS(STATIC_42), i5, i10, i10) :|: TRUE f42_0_main_ConstantStackPush(EOS(STATIC_42), i5, i10, i10) -> f43_0_main_GE(EOS(STATIC_43), i5, i10, i10, 100) :|: TRUE f43_0_main_GE(EOS(STATIC_43), i5, i11, i11, matching1) -> f46_0_main_GE(EOS(STATIC_46), i5, i11, i11, 100) :|: TRUE && matching1 = 100 f43_0_main_GE(EOS(STATIC_43), i5, i12, i12, matching1) -> f47_0_main_GE(EOS(STATIC_47), i5, i12, i12, 100) :|: TRUE && matching1 = 100 f46_0_main_GE(EOS(STATIC_46), i5, i11, i11, matching1) -> f49_0_main_Load(EOS(STATIC_49), i5, i11) :|: i11 < 100 && matching1 = 100 f49_0_main_Load(EOS(STATIC_49), i5, i11) -> f53_0_main_InvokeMethod(EOS(STATIC_53), i5, i11, i11) :|: TRUE f53_0_main_InvokeMethod(EOS(STATIC_53), i5, i11, i11) -> f55_0_test_Load(EOS(STATIC_55), i11, i11) :|: i11 >= 1 f53_0_main_InvokeMethod(EOS(STATIC_53), i5, i11, i11) -> f55_1_test_Load(EOS(STATIC_55), i5, i11, i11) :|: i11 >= 1 f55_0_test_Load(EOS(STATIC_55), i11, i11) -> f1930_0_test_Load(EOS(STATIC_1930), i11, i11) :|: TRUE f1682_0_test_Return(EOS(STATIC_1682), i5, i418) -> f1686_0_main_Inc(EOS(STATIC_1686), i5, i418) :|: TRUE f1686_0_main_Inc(EOS(STATIC_1686), i5, i418) -> f1688_0_main_JMP(EOS(STATIC_1688), i5, i418 + 1) :|: TRUE f1688_0_main_JMP(EOS(STATIC_1688), i5, i430) -> f1697_0_main_Load(EOS(STATIC_1697), i5, i430) :|: TRUE f1697_0_main_Load(EOS(STATIC_1697), i5, i430) -> f41_0_main_Load(EOS(STATIC_41), i5, i430) :|: TRUE f47_0_main_GE(EOS(STATIC_47), i5, i12, i12, matching1) -> f51_0_main_Load(EOS(STATIC_51), i5) :|: i12 >= 100 && matching1 = 100 f51_0_main_Load(EOS(STATIC_51), i5) -> f54_0_main_ConstantStackPush(EOS(STATIC_54), i5) :|: TRUE f54_0_main_ConstantStackPush(EOS(STATIC_54), i5) -> f56_0_main_IntArithmetic(EOS(STATIC_56), i5, 1) :|: TRUE f56_0_main_IntArithmetic(EOS(STATIC_56), i5, matching1) -> f68_0_main_Store(EOS(STATIC_68), i5 - 1) :|: i5 > 0 && matching1 = 1 f68_0_main_Store(EOS(STATIC_68), i14) -> f69_0_main_JMP(EOS(STATIC_69), i14) :|: TRUE f69_0_main_JMP(EOS(STATIC_69), i14) -> f90_0_main_Load(EOS(STATIC_90), i14) :|: TRUE f90_0_main_Load(EOS(STATIC_90), i14) -> f14_0_main_Load(EOS(STATIC_14), i14) :|: TRUE f14_0_main_Load(EOS(STATIC_14), i4) -> f15_0_main_ConstantStackPush(EOS(STATIC_15), i4, i4) :|: TRUE f55_1_test_Load(EOS(STATIC_55), i5, i418, i418) -> f1682_0_test_Return(EOS(STATIC_1682), i5, i418) :|: TRUE Combined rules. Obtained 3 IRulesP rules: f43_0_main_GE(EOS(STATIC_43), i5:0, i11:0, i11:0, 100) -> f43_0_main_GE(EOS(STATIC_43), i5:0, i11:0 + 1, i11:0 + 1, 100) :|: i11:0 > 0 && i11:0 < 100 f43_0_main_GE(EOS(STATIC_43), i5:0, i12:0, i12:0, 100) -> f43_0_main_GE(EOS(STATIC_43), i5:0 - 1, i5:0 - 1, i5:0 - 1, 100) :|: i5:0 > 0 && i12:0 > 99 Removed following non-SCC rules: f43_0_main_GE(EOS(STATIC_43), i5:0, i11:0, i11:0, 100) -> f1930_0_test_Load(EOS(STATIC_1930), i11:0, i11:0) :|: i11:0 > 0 && i11:0 < 100 Filtered constant ground arguments: f43_0_main_GE(x1, x2, x3, x4, x5) -> f43_0_main_GE(x2, x3, x4) EOS(x1) -> EOS Filtered duplicate arguments: f43_0_main_GE(x1, x2, x3) -> f43_0_main_GE(x1, x3) Finished conversion. Obtained 2 rules.P rules: f43_0_main_GE(i5:0, i11:0) -> f43_0_main_GE(i5:0, i11:0 + 1) :|: i11:0 > 0 && i11:0 < 100 f43_0_main_GE(i5:0, i12:0) -> f43_0_main_GE(i5:0 - 1, i5:0 - 1) :|: i5:0 > 0 && i12:0 > 99 ---------------------------------------- (165) Obligation: Rules: f43_0_main_GE(i5:0, i11:0) -> f43_0_main_GE(i5:0, i11:0 + 1) :|: i11:0 > 0 && i11:0 < 100 f43_0_main_GE(x, x1) -> f43_0_main_GE(x - 1, x - 1) :|: x > 0 && x1 > 99 ---------------------------------------- (166) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (167) Obligation: Rules: f43_0_main_GE(i5:0, i11:0) -> f43_0_main_GE(i5:0, arith) :|: i11:0 > 0 && i11:0 < 100 && arith = i11:0 + 1 f43_0_main_GE(x2, x3) -> f43_0_main_GE(x4, x4) :|: x2 > 0 && x3 > 99 && x4 = x2 - 1 && x4 = x2 - 1 ---------------------------------------- (168) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f43_0_main_GE(i5:0, i11:0) -> f43_0_main_GE(i5:0, arith) :|: i11:0 > 0 && i11:0 < 100 && arith = i11:0 + 1 (2) f43_0_main_GE(x2, x3) -> f43_0_main_GE(x4, x4) :|: x2 > 0 && x3 > 99 && x4 = x2 - 1 && x4 = x2 - 1 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (169) Obligation: Termination digraph: Nodes: (1) f43_0_main_GE(i5:0, i11:0) -> f43_0_main_GE(i5:0, arith) :|: i11:0 > 0 && i11:0 < 100 && arith = i11:0 + 1 (2) f43_0_main_GE(x2, x3) -> f43_0_main_GE(x4, x4) :|: x2 > 0 && x3 > 99 && x4 = x2 - 1 && x4 = x2 - 1 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (170) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (171) Obligation: Rules: f43_0_main_GE(i5:0:0, i11:0:0) -> f43_0_main_GE(i5:0:0, i11:0:0 + 1) :|: i11:0:0 > 0 && i11:0:0 < 100 f43_0_main_GE(x2:0, x3:0) -> f43_0_main_GE(x2:0 - 1, x2:0 - 1) :|: x2:0 > 0 && x3:0 > 99 ---------------------------------------- (172) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f43_0_main_GE(VARIABLE, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (173) Obligation: Rules: f43_0_main_GE(i5:0:0, i11:0:0) -> f43_0_main_GE(i5:0:0, c) :|: c = i11:0:0 + 1 && (i11:0:0 > 0 && i11:0:0 < 100) f43_0_main_GE(x2:0, x3:0) -> f43_0_main_GE(c1, c2) :|: c2 = x2:0 - 1 && c1 = x2:0 - 1 && (x2:0 > 0 && x3:0 > 99) ---------------------------------------- (174) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f43_0_main_GE ] = 2*f43_0_main_GE_1 + 1 The following rules are decreasing: f43_0_main_GE(x2:0, x3:0) -> f43_0_main_GE(c1, c2) :|: c2 = x2:0 - 1 && c1 = x2:0 - 1 && (x2:0 > 0 && x3:0 > 99) The following rules are bounded: f43_0_main_GE(x2:0, x3:0) -> f43_0_main_GE(c1, c2) :|: c2 = x2:0 - 1 && c1 = x2:0 - 1 && (x2:0 > 0 && x3:0 > 99) ---------------------------------------- (175) Obligation: Rules: f43_0_main_GE(i5:0:0, i11:0:0) -> f43_0_main_GE(i5:0:0, c) :|: c = i11:0:0 + 1 && (i11:0:0 > 0 && i11:0:0 < 100) ---------------------------------------- (176) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f43_0_main_GE ] = -1*f43_0_main_GE_2 The following rules are decreasing: f43_0_main_GE(i5:0:0, i11:0:0) -> f43_0_main_GE(i5:0:0, c) :|: c = i11:0:0 + 1 && (i11:0:0 > 0 && i11:0:0 < 100) The following rules are bounded: f43_0_main_GE(i5:0:0, i11:0:0) -> f43_0_main_GE(i5:0:0, c) :|: c = i11:0:0 + 1 && (i11:0:0 > 0 && i11:0:0 < 100) ---------------------------------------- (177) YES