14.05/4.80 YES 14.26/4.82 proof of /export/starexec/sandbox/benchmark/theBenchmark.jar 14.26/4.82 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 14.26/4.82 14.26/4.82 14.26/4.82 termination of the given Bare JBC problem could be proven: 14.26/4.82 14.26/4.82 (0) Bare JBC problem 14.26/4.82 (1) BareJBCToJBCProof [EQUIVALENT, 94 ms] 14.26/4.82 (2) JBC problem 14.26/4.82 (3) JBCToGraph [EQUIVALENT, 654 ms] 14.26/4.82 (4) JBCTerminationGraph 14.26/4.82 (5) TerminationGraphToSCCProof [SOUND, 1 ms] 14.26/4.82 (6) JBCTerminationSCC 14.26/4.82 (7) SCCToIRSProof [SOUND, 298 ms] 14.26/4.82 (8) IRSwT 14.26/4.82 (9) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 14.26/4.82 (10) IRSwT 14.26/4.82 (11) IRSwTTerminationDigraphProof [EQUIVALENT, 179 ms] 14.26/4.82 (12) IRSwT 14.26/4.82 (13) IntTRSCompressionProof [EQUIVALENT, 0 ms] 14.26/4.82 (14) IRSwT 14.26/4.82 (15) TempFilterProof [SOUND, 637 ms] 14.26/4.82 (16) IntTRS 14.26/4.82 (17) PolynomialOrderProcessor [EQUIVALENT, 23 ms] 14.26/4.82 (18) IntTRS 14.26/4.82 (19) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 14.26/4.82 (20) AND 14.26/4.82 (21) IntTRS 14.26/4.82 (22) RankingReductionPairProof [EQUIVALENT, 1 ms] 14.26/4.82 (23) IntTRS 14.26/4.82 (24) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 14.26/4.82 (25) AND 14.26/4.82 (26) IntTRS 14.26/4.82 (27) RankingReductionPairProof [EQUIVALENT, 19 ms] 14.26/4.82 (28) IntTRS 14.26/4.82 (29) PolynomialOrderProcessor [EQUIVALENT, 8 ms] 14.26/4.82 (30) AND 14.26/4.82 (31) IntTRS 14.26/4.82 (32) RankingReductionPairProof [EQUIVALENT, 0 ms] 14.26/4.82 (33) YES 14.26/4.82 (34) IntTRS 14.26/4.82 (35) RankingReductionPairProof [EQUIVALENT, 9 ms] 14.26/4.82 (36) IntTRS 14.26/4.82 (37) RankingReductionPairProof [EQUIVALENT, 0 ms] 14.26/4.82 (38) YES 14.26/4.82 (39) IntTRS 14.26/4.82 (40) RankingReductionPairProof [EQUIVALENT, 1 ms] 14.26/4.82 (41) IntTRS 14.26/4.82 (42) RankingReductionPairProof [EQUIVALENT, 5 ms] 14.26/4.82 (43) YES 14.26/4.82 (44) IntTRS 14.26/4.82 (45) RankingReductionPairProof [EQUIVALENT, 32 ms] 14.26/4.82 (46) IntTRS 14.26/4.82 (47) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 14.26/4.82 (48) AND 14.26/4.82 (49) IntTRS 14.26/4.82 (50) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 14.26/4.82 (51) IntTRS 14.26/4.82 (52) RankingReductionPairProof [EQUIVALENT, 0 ms] 14.26/4.82 (53) IntTRS 14.26/4.82 (54) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 14.26/4.82 (55) IntTRS 14.26/4.82 (56) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 14.26/4.82 (57) YES 14.26/4.82 (58) IntTRS 14.26/4.82 (59) RankingReductionPairProof [EQUIVALENT, 0 ms] 14.26/4.82 (60) IntTRS 14.26/4.82 (61) RankingReductionPairProof [EQUIVALENT, 5 ms] 14.26/4.82 (62) YES 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (0) 14.26/4.82 Obligation: 14.26/4.82 need to prove termination of the following program: 14.26/4.82 public class Iterations { 14.26/4.82 public static void main(String args[]) { 14.26/4.82 for (int i = 0; i < args.length; i++) { 14.26/4.82 int a = 2*i; 14.26/4.82 for (int j = 0; j < a; j++) 14.26/4.82 for (int k = i+j; k >= 0; k--) { 14.26/4.82 int b = 2*i+3*j+4*k; 14.26/4.82 for (int l = 0; l < b; l++) 14.26/4.82 for (int m = 1000*i+100*j+10*k+l; m >= 0; m--); 14.26/4.82 } 14.26/4.82 } 14.26/4.82 } 14.26/4.82 } 14.26/4.82 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (1) BareJBCToJBCProof (EQUIVALENT) 14.26/4.82 initialized classpath 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (2) 14.26/4.82 Obligation: 14.26/4.82 need to prove termination of the following program: 14.26/4.82 public class Iterations { 14.26/4.82 public static void main(String args[]) { 14.26/4.82 for (int i = 0; i < args.length; i++) { 14.26/4.82 int a = 2*i; 14.26/4.82 for (int j = 0; j < a; j++) 14.26/4.82 for (int k = i+j; k >= 0; k--) { 14.26/4.82 int b = 2*i+3*j+4*k; 14.26/4.82 for (int l = 0; l < b; l++) 14.26/4.82 for (int m = 1000*i+100*j+10*k+l; m >= 0; m--); 14.26/4.82 } 14.26/4.82 } 14.26/4.82 } 14.26/4.82 } 14.26/4.82 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (3) JBCToGraph (EQUIVALENT) 14.26/4.82 Constructed TerminationGraph. 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (4) 14.26/4.82 Obligation: 14.26/4.82 Termination Graph based on JBC Program: 14.26/4.82 Iterations.main([Ljava/lang/String;)V: Graph of 93 nodes with 1 SCC. 14.26/4.82 14.26/4.82 14.26/4.82 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (5) TerminationGraphToSCCProof (SOUND) 14.26/4.82 Splitted TerminationGraph to 1 SCCs. 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (6) 14.26/4.82 Obligation: 14.26/4.82 SCC of termination graph based on JBC Program. 14.26/4.82 SCC contains nodes from the following methods: Iterations.main([Ljava/lang/String;)V 14.26/4.82 SCC calls the following helper methods: 14.26/4.82 Performed SCC analyses: 14.26/4.82 *Used field analysis yielded the following read fields: 14.26/4.82 14.26/4.82 *Marker field analysis yielded the following relations that could be markers: 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (7) SCCToIRSProof (SOUND) 14.26/4.82 Transformed FIGraph SCCs to intTRSs. Log: 14.26/4.82 Generated rules. Obtained 89 IRulesP rules: 14.26/4.82 f364_0_main_Load(EOS(STATIC_364), java.lang.Object(o12sub), java.lang.Object(o12sub), i18, i18) -> f366_0_main_ArrayLength(EOS(STATIC_366), java.lang.Object(o12sub), java.lang.Object(o12sub), i18, i18, java.lang.Object(o12sub)) :|: TRUE 14.26/4.82 f366_0_main_ArrayLength(EOS(STATIC_366), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i18, java.lang.Object(ARRAY(i20))) -> f368_0_main_ArrayLength(EOS(STATIC_368), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i18, java.lang.Object(ARRAY(i20))) :|: i20 >= 0 14.26/4.82 f368_0_main_ArrayLength(EOS(STATIC_368), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i18, java.lang.Object(ARRAY(i20))) -> f371_0_main_GE(EOS(STATIC_371), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i18, i20) :|: i20 >= 0 14.26/4.82 f371_0_main_GE(EOS(STATIC_371), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i18, i20) -> f384_0_main_GE(EOS(STATIC_384), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i18, i20) :|: i18 < i20 14.26/4.82 f384_0_main_GE(EOS(STATIC_384), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i18, i20) -> f400_0_main_ConstantStackPush(EOS(STATIC_400), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18) :|: i18 < i20 14.26/4.82 f400_0_main_ConstantStackPush(EOS(STATIC_400), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18) -> f405_0_main_Load(EOS(STATIC_405), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, 2) :|: TRUE 14.26/4.82 f405_0_main_Load(EOS(STATIC_405), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, matching1) -> f408_0_main_IntArithmetic(EOS(STATIC_408), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, 2, i18) :|: TRUE && matching1 = 2 14.26/4.82 f408_0_main_IntArithmetic(EOS(STATIC_408), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, matching1, i18) -> f410_0_main_Store(EOS(STATIC_410), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, 2 * i18) :|: TRUE && matching1 = 2 14.26/4.82 f410_0_main_Store(EOS(STATIC_410), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i21) -> f413_0_main_ConstantStackPush(EOS(STATIC_413), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i21) :|: TRUE 14.26/4.82 f413_0_main_ConstantStackPush(EOS(STATIC_413), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i21) -> f415_0_main_Store(EOS(STATIC_415), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i21, 0) :|: TRUE 14.26/4.82 f415_0_main_Store(EOS(STATIC_415), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i21, matching1) -> f418_0_main_Load(EOS(STATIC_418), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i21, 0) :|: TRUE && matching1 = 0 14.26/4.82 f418_0_main_Load(EOS(STATIC_418), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i21, matching1) -> f2248_0_main_Load(EOS(STATIC_2248), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i21, 0) :|: TRUE && matching1 = 0 14.26/4.82 f2248_0_main_Load(EOS(STATIC_2248), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i35, i36) -> f2961_0_main_Load(EOS(STATIC_2961), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i35, i36) :|: TRUE 14.26/4.82 f2961_0_main_Load(EOS(STATIC_2961), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i56, i57) -> f3408_0_main_Load(EOS(STATIC_3408), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i56, i57) :|: TRUE 14.26/4.82 f3408_0_main_Load(EOS(STATIC_3408), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78) -> f3415_0_main_Load(EOS(STATIC_3415), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78) :|: TRUE 14.26/4.82 f3415_0_main_Load(EOS(STATIC_3415), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78) -> f3418_0_main_GE(EOS(STATIC_3418), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78, i77) :|: TRUE 14.26/4.82 f3418_0_main_GE(EOS(STATIC_3418), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78, i77) -> f3458_0_main_GE(EOS(STATIC_3458), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78, i77) :|: i78 >= i77 14.26/4.82 f3418_0_main_GE(EOS(STATIC_3418), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78, i77) -> f3459_0_main_GE(EOS(STATIC_3459), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78, i77) :|: i78 < i77 14.26/4.82 f3458_0_main_GE(EOS(STATIC_3458), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78, i77) -> f3473_0_main_Inc(EOS(STATIC_3473), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18) :|: i78 >= i77 14.26/4.82 f3473_0_main_Inc(EOS(STATIC_3473), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18) -> f3491_0_main_JMP(EOS(STATIC_3491), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18 + 1) :|: TRUE 14.26/4.82 f3491_0_main_JMP(EOS(STATIC_3491), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i82) -> f3507_0_main_Load(EOS(STATIC_3507), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i82) :|: TRUE 14.26/4.82 f3507_0_main_Load(EOS(STATIC_3507), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i82) -> f362_0_main_Load(EOS(STATIC_362), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i82) :|: TRUE 14.26/4.82 f362_0_main_Load(EOS(STATIC_362), java.lang.Object(o12sub), java.lang.Object(o12sub), i18) -> f364_0_main_Load(EOS(STATIC_364), java.lang.Object(o12sub), java.lang.Object(o12sub), i18, i18) :|: TRUE 14.26/4.82 f3459_0_main_GE(EOS(STATIC_3459), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i78, i77) -> f3487_0_main_Load(EOS(STATIC_3487), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78) :|: i78 < i77 14.26/4.82 f3487_0_main_Load(EOS(STATIC_3487), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78) -> f3493_0_main_Load(EOS(STATIC_3493), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i18) :|: TRUE 14.26/4.82 f3493_0_main_Load(EOS(STATIC_3493), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i18) -> f3510_0_main_IntArithmetic(EOS(STATIC_3510), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i18, i78) :|: TRUE 14.26/4.82 f3510_0_main_IntArithmetic(EOS(STATIC_3510), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i18, i78) -> f3513_0_main_Store(EOS(STATIC_3513), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i18 + i78) :|: i18 >= 0 && i78 >= 0 14.26/4.82 f3513_0_main_Store(EOS(STATIC_3513), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i84) -> f3516_0_main_Load(EOS(STATIC_3516), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i84) :|: TRUE 14.26/4.82 f3516_0_main_Load(EOS(STATIC_3516), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i84) -> f3763_0_main_Load(EOS(STATIC_3763), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i84) :|: TRUE 14.26/4.82 f3763_0_main_Load(EOS(STATIC_3763), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i92) -> f3770_0_main_LT(EOS(STATIC_3770), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i92, i92) :|: TRUE 14.26/4.82 f3770_0_main_LT(EOS(STATIC_3770), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i94, i94) -> f3776_0_main_LT(EOS(STATIC_3776), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i94, i94) :|: TRUE 14.26/4.82 f3770_0_main_LT(EOS(STATIC_3770), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i95) -> f3777_0_main_LT(EOS(STATIC_3777), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i95) :|: TRUE 14.26/4.82 f3776_0_main_LT(EOS(STATIC_3776), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i94, i94) -> f3780_0_main_Inc(EOS(STATIC_3780), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78) :|: i94 < 0 14.26/4.82 f3780_0_main_Inc(EOS(STATIC_3780), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78) -> f3787_0_main_JMP(EOS(STATIC_3787), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78 + 1) :|: TRUE 14.26/4.82 f3787_0_main_JMP(EOS(STATIC_3787), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i96) -> f3851_0_main_Load(EOS(STATIC_3851), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i96) :|: TRUE 14.26/4.82 f3851_0_main_Load(EOS(STATIC_3851), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i96) -> f3408_0_main_Load(EOS(STATIC_3408), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i96) :|: TRUE 14.26/4.82 f3777_0_main_LT(EOS(STATIC_3777), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i95) -> f3783_0_main_ConstantStackPush(EOS(STATIC_3783), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95) :|: i95 >= 0 14.26/4.82 f3783_0_main_ConstantStackPush(EOS(STATIC_3783), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95) -> f3790_0_main_Load(EOS(STATIC_3790), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, 2) :|: TRUE 14.26/4.82 f3790_0_main_Load(EOS(STATIC_3790), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, matching1) -> f3852_0_main_IntArithmetic(EOS(STATIC_3852), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, 2, i18) :|: TRUE && matching1 = 2 14.26/4.82 f3852_0_main_IntArithmetic(EOS(STATIC_3852), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, matching1, i18) -> f3855_0_main_ConstantStackPush(EOS(STATIC_3855), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, 2 * i18) :|: TRUE && matching1 = 2 14.26/4.82 f3855_0_main_ConstantStackPush(EOS(STATIC_3855), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i99) -> f3858_0_main_Load(EOS(STATIC_3858), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i99, 3) :|: TRUE 14.26/4.82 f3858_0_main_Load(EOS(STATIC_3858), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i99, matching1) -> f3861_0_main_IntArithmetic(EOS(STATIC_3861), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i99, 3, i78) :|: TRUE && matching1 = 3 14.26/4.82 f3861_0_main_IntArithmetic(EOS(STATIC_3861), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i99, matching1, i78) -> f3864_0_main_IntArithmetic(EOS(STATIC_3864), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i99, 3 * i78) :|: TRUE && matching1 = 3 14.26/4.82 f3864_0_main_IntArithmetic(EOS(STATIC_3864), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i99, i100) -> f3867_0_main_ConstantStackPush(EOS(STATIC_3867), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i99 + i100) :|: i99 >= 0 && i100 >= 0 14.26/4.82 f3867_0_main_ConstantStackPush(EOS(STATIC_3867), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i101) -> f3882_0_main_Load(EOS(STATIC_3882), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i101, 4) :|: TRUE 14.26/4.82 f3882_0_main_Load(EOS(STATIC_3882), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i101, matching1) -> f3885_0_main_IntArithmetic(EOS(STATIC_3885), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i101, 4, i95) :|: TRUE && matching1 = 4 14.26/4.82 f3885_0_main_IntArithmetic(EOS(STATIC_3885), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i101, matching1, i95) -> f3888_0_main_IntArithmetic(EOS(STATIC_3888), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i101, 4 * i95) :|: TRUE && matching1 = 4 14.26/4.82 f3888_0_main_IntArithmetic(EOS(STATIC_3888), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i101, i102) -> f3891_0_main_Store(EOS(STATIC_3891), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i101 + i102) :|: i101 >= 0 && i102 >= 0 14.26/4.82 f3891_0_main_Store(EOS(STATIC_3891), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i103) -> f3899_0_main_ConstantStackPush(EOS(STATIC_3899), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i103) :|: TRUE 14.26/4.82 f3899_0_main_ConstantStackPush(EOS(STATIC_3899), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i103) -> f3902_0_main_Store(EOS(STATIC_3902), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i103, 0) :|: TRUE 14.26/4.82 f3902_0_main_Store(EOS(STATIC_3902), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i103, matching1) -> f3905_0_main_Load(EOS(STATIC_3905), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i103, 0) :|: TRUE && matching1 = 0 14.26/4.82 f3905_0_main_Load(EOS(STATIC_3905), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i103, matching1) -> f5089_0_main_Load(EOS(STATIC_5089), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i103, 0) :|: TRUE && matching1 = 0 14.26/4.82 f5089_0_main_Load(EOS(STATIC_5089), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i119, i120) -> f6368_0_main_Load(EOS(STATIC_6368), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i119, i120) :|: TRUE 14.26/4.82 f6368_0_main_Load(EOS(STATIC_6368), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i140, i141) -> f6632_0_main_Load(EOS(STATIC_6632), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i140, i141) :|: TRUE 14.26/4.82 f6632_0_main_Load(EOS(STATIC_6632), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162) -> f6633_0_main_Load(EOS(STATIC_6633), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162) :|: TRUE 14.26/4.82 f6633_0_main_Load(EOS(STATIC_6633), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162) -> f6634_0_main_GE(EOS(STATIC_6634), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162, i161) :|: TRUE 14.26/4.82 f6634_0_main_GE(EOS(STATIC_6634), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162, i161) -> f6635_0_main_GE(EOS(STATIC_6635), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162, i161) :|: i162 >= i161 14.26/4.82 f6634_0_main_GE(EOS(STATIC_6634), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162, i161) -> f6636_0_main_GE(EOS(STATIC_6636), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162, i161) :|: i162 < i161 14.26/4.82 f6635_0_main_GE(EOS(STATIC_6635), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162, i161) -> f6637_0_main_Inc(EOS(STATIC_6637), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95) :|: i162 >= i161 14.26/4.82 f6637_0_main_Inc(EOS(STATIC_6637), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95) -> f6781_0_main_JMP(EOS(STATIC_6781), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95 + -1) :|: TRUE 14.26/4.82 f6781_0_main_JMP(EOS(STATIC_6781), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i166) -> f6827_0_main_Load(EOS(STATIC_6827), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i166) :|: TRUE 14.26/4.82 f6827_0_main_Load(EOS(STATIC_6827), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i166) -> f3763_0_main_Load(EOS(STATIC_3763), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i166) :|: TRUE 14.26/4.82 f6636_0_main_GE(EOS(STATIC_6636), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i162, i161) -> f6778_0_main_ConstantStackPush(EOS(STATIC_6778), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162) :|: i162 < i161 14.26/4.82 f6778_0_main_ConstantStackPush(EOS(STATIC_6778), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162) -> f6784_0_main_Load(EOS(STATIC_6784), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, 1000) :|: TRUE 14.26/4.82 f6784_0_main_Load(EOS(STATIC_6784), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, matching1) -> f6830_0_main_IntArithmetic(EOS(STATIC_6830), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, 1000, i18) :|: TRUE && matching1 = 1000 14.26/4.82 f6830_0_main_IntArithmetic(EOS(STATIC_6830), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, matching1, i18) -> f6833_0_main_ConstantStackPush(EOS(STATIC_6833), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, 1000 * i18) :|: TRUE && matching1 = 1000 14.26/4.82 f6833_0_main_ConstantStackPush(EOS(STATIC_6833), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i168) -> f6836_0_main_Load(EOS(STATIC_6836), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i168, 100) :|: TRUE 14.26/4.82 f6836_0_main_Load(EOS(STATIC_6836), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i168, matching1) -> f6839_0_main_IntArithmetic(EOS(STATIC_6839), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i168, 100, i78) :|: TRUE && matching1 = 100 14.26/4.82 f6839_0_main_IntArithmetic(EOS(STATIC_6839), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i168, matching1, i78) -> f6842_0_main_IntArithmetic(EOS(STATIC_6842), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i168, 100 * i78) :|: TRUE && matching1 = 100 14.26/4.82 f6842_0_main_IntArithmetic(EOS(STATIC_6842), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i168, i169) -> f6845_0_main_ConstantStackPush(EOS(STATIC_6845), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i168 + i169) :|: i168 >= 0 && i169 >= 0 14.26/4.82 f6845_0_main_ConstantStackPush(EOS(STATIC_6845), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i170) -> f6848_0_main_Load(EOS(STATIC_6848), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i170, 10) :|: TRUE 14.26/4.82 f6848_0_main_Load(EOS(STATIC_6848), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i170, matching1) -> f6850_0_main_IntArithmetic(EOS(STATIC_6850), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i170, 10, i95) :|: TRUE && matching1 = 10 14.26/4.82 f6850_0_main_IntArithmetic(EOS(STATIC_6850), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i170, matching1, i95) -> f6854_0_main_IntArithmetic(EOS(STATIC_6854), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i170, 10 * i95) :|: TRUE && matching1 = 10 14.26/4.82 f6854_0_main_IntArithmetic(EOS(STATIC_6854), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i170, i171) -> f6856_0_main_Load(EOS(STATIC_6856), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i170 + i171) :|: i170 >= 0 && i171 >= 0 14.26/4.82 f6856_0_main_Load(EOS(STATIC_6856), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i172) -> f6859_0_main_IntArithmetic(EOS(STATIC_6859), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i172, i162) :|: TRUE 14.26/4.82 f6859_0_main_IntArithmetic(EOS(STATIC_6859), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i172, i162) -> f6862_0_main_Store(EOS(STATIC_6862), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i172 + i162) :|: i172 >= 0 && i162 >= 0 14.26/4.82 f6862_0_main_Store(EOS(STATIC_6862), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i173) -> f6865_0_main_Load(EOS(STATIC_6865), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i173) :|: TRUE 14.26/4.82 f6865_0_main_Load(EOS(STATIC_6865), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i173) -> f7110_0_main_Load(EOS(STATIC_7110), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i173) :|: TRUE 14.26/4.82 f7110_0_main_Load(EOS(STATIC_7110), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i175) -> f7118_0_main_LT(EOS(STATIC_7118), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i175, i175) :|: TRUE 14.26/4.82 f7118_0_main_LT(EOS(STATIC_7118), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i177, i177) -> f7123_0_main_LT(EOS(STATIC_7123), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i177, i177) :|: TRUE 14.26/4.82 f7118_0_main_LT(EOS(STATIC_7118), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i178, i178) -> f7124_0_main_LT(EOS(STATIC_7124), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i178, i178) :|: TRUE 14.26/4.82 f7123_0_main_LT(EOS(STATIC_7123), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i177, i177) -> f7127_0_main_Inc(EOS(STATIC_7127), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162) :|: i177 < 0 14.26/4.82 f7127_0_main_Inc(EOS(STATIC_7127), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162) -> f7134_0_main_JMP(EOS(STATIC_7134), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162 + 1) :|: TRUE 14.26/4.82 f7134_0_main_JMP(EOS(STATIC_7134), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i179) -> f7247_0_main_Load(EOS(STATIC_7247), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i179) :|: TRUE 14.26/4.82 f7247_0_main_Load(EOS(STATIC_7247), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i179) -> f6632_0_main_Load(EOS(STATIC_6632), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i179) :|: TRUE 14.26/4.82 f7124_0_main_LT(EOS(STATIC_7124), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i178, i178) -> f7130_0_main_Inc(EOS(STATIC_7130), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i178) :|: i178 >= 0 14.26/4.82 f7130_0_main_Inc(EOS(STATIC_7130), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i178) -> f7137_0_main_JMP(EOS(STATIC_7137), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i178 + -1) :|: TRUE 14.26/4.82 f7137_0_main_JMP(EOS(STATIC_7137), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i180) -> f7321_0_main_Load(EOS(STATIC_7321), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i180) :|: TRUE 14.26/4.82 f7321_0_main_Load(EOS(STATIC_7321), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i180) -> f7110_0_main_Load(EOS(STATIC_7110), java.lang.Object(ARRAY(i20)), java.lang.Object(ARRAY(i20)), i18, i77, i78, i95, i161, i162, i180) :|: TRUE 14.26/4.82 Combined rules. Obtained 8 IRulesP rules: 14.26/4.82 f6634_0_main_GE(EOS(STATIC_6634), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, i162:0, i161:0) -> f7118_0_main_LT(EOS(STATIC_7118), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 + i162:0, 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 + i162:0) :|: i162:0 < i161:0 && 100 * i78:0 >= 0 && 1000 * i18:0 >= 0 && 10 * i95:0 >= 0 && 1000 * i18:0 + 100 * i78:0 >= 0 && 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 >= 0 && i162:0 > -1 14.26/4.82 f3418_0_main_GE(EOS(STATIC_3418), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i78:0, i77:0) -> f3770_0_main_LT(EOS(STATIC_3770), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i18:0 + i78:0, i18:0 + i78:0) :|: i78:0 < i77:0 && i18:0 > -1 && i78:0 > -1 14.26/4.82 f3770_0_main_LT(EOS(STATIC_3770), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i95:0) -> f6634_0_main_GE(EOS(STATIC_6634), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, 2 * i18:0 + 3 * i78:0 + 4 * i95:0, 0, 0, 2 * i18:0 + 3 * i78:0 + 4 * i95:0) :|: i95:0 > -1 && 3 * i78:0 >= 0 && 2 * i18:0 >= 0 && 2 * i18:0 + 3 * i78:0 >= 0 && 4 * i95:0 >= 0 14.26/4.82 f6634_0_main_GE(EOS(STATIC_6634), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, i162:0, i161:0) -> f3770_0_main_LT(EOS(STATIC_3770), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0 - 1, i95:0 - 1) :|: i162:0 >= i161:0 14.26/4.82 f3418_0_main_GE(EOS(STATIC_3418), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i78:0, i77:0) -> f3418_0_main_GE(EOS(STATIC_3418), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0 + 1, 2 * (i18:0 + 1), 0, 0, 2 * (i18:0 + 1)) :|: i20:0 > -1 && i20:0 > i18:0 + 1 && i78:0 >= i77:0 14.26/4.82 f3770_0_main_LT(EOS(STATIC_3770), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i94:0, i94:0) -> f3418_0_main_GE(EOS(STATIC_3418), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0 + 1, i78:0 + 1, i77:0) :|: i94:0 < 0 14.26/4.82 f7118_0_main_LT(EOS(STATIC_7118), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, i178:0, i178:0) -> f7118_0_main_LT(EOS(STATIC_7118), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, i178:0 - 1, i178:0 - 1) :|: i178:0 > -1 14.26/4.82 f7118_0_main_LT(EOS(STATIC_7118), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, i177:0, i177:0) -> f6634_0_main_GE(EOS(STATIC_6634), java.lang.Object(ARRAY(i20:0)), java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0 + 1, i162:0 + 1, i161:0) :|: i177:0 < 0 14.26/4.82 Filtered constant ground arguments: 14.26/4.82 f6634_0_main_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) -> f6634_0_main_GE(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 14.26/4.82 f7118_0_main_LT(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) -> f7118_0_main_LT(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 14.26/4.82 f3418_0_main_GE(x1, x2, x3, x4, x5, x6, x7, x8) -> f3418_0_main_GE(x2, x3, x4, x5, x6, x7, x8) 14.26/4.82 f3770_0_main_LT(x1, x2, x3, x4, x5, x6, x7, x8) -> f3770_0_main_LT(x2, x3, x4, x5, x6, x7, x8) 14.26/4.82 Filtered duplicate arguments: 14.26/4.82 f6634_0_main_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f6634_0_main_GE(x2, x3, x4, x5, x6, x9, x10) 14.26/4.82 f7118_0_main_LT(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f7118_0_main_LT(x2, x3, x4, x5, x6, x7, x8, x10) 14.26/4.82 f3418_0_main_GE(x1, x2, x3, x4, x5, x6, x7) -> f3418_0_main_GE(x2, x3, x6, x7) 14.26/4.82 f3770_0_main_LT(x1, x2, x3, x4, x5, x6, x7) -> f3770_0_main_LT(x2, x3, x4, x5, x7) 14.26/4.82 Finished conversion. Obtained 8 rules.P rules: 14.26/4.82 f6634_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i162:0, i161:0, i20:0) -> f7118_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 + i162:0, i20:0) :|: 100 * i78:0 >= 0 && i162:0 < i161:0 && 1000 * i18:0 >= 0 && 10 * i95:0 >= 0 && 1000 * i18:0 + 100 * i78:0 >= 0 && i162:0 > -1 && 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 >= 0 14.26/4.82 f3418_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i78:0, i77:0, i20:0) -> f3770_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i18:0 + i78:0, i20:0) :|: i18:0 > -1 && i78:0 > -1 && i78:0 < i77:0 14.26/4.82 f3770_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i20:0) -> f6634_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, 0, 2 * i18:0 + 3 * i78:0 + 4 * i95:0, i20:0) :|: 3 * i78:0 >= 0 && i95:0 > -1 && 2 * i18:0 >= 0 && 4 * i95:0 >= 0 && 2 * i18:0 + 3 * i78:0 >= 0 14.26/4.82 f6634_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i162:0, i161:0, i20:0) -> f3770_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0 - 1, i20:0) :|: i162:0 >= i161:0 14.26/4.82 f3418_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i78:0, i77:0, i20:0) -> f3418_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0 + 1, 0, 2 * i18:0 + 2, i20:0) :|: i20:0 > i18:0 + 1 && i78:0 >= i77:0 && i20:0 > -1 14.26/4.82 f3770_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i94:0, i20:0) -> f3418_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i78:0 + 1, i77:0, i20:0) :|: i94:0 < 0 14.26/4.82 f7118_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, i178:0, i20:0) -> f7118_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, i178:0 - 1, i20:0) :|: i178:0 > -1 14.26/4.82 f7118_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, i177:0, i20:0) -> f6634_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i162:0 + 1, i161:0, i20:0) :|: i177:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (8) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f6634_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i162:0, i161:0, i20:0) -> f7118_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 + i162:0, i20:0) :|: 100 * i78:0 >= 0 && i162:0 < i161:0 && 1000 * i18:0 >= 0 && 10 * i95:0 >= 0 && 1000 * i18:0 + 100 * i78:0 >= 0 && i162:0 > -1 && 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 >= 0 14.26/4.82 f3418_0_main_GE(java.lang.Object(ARRAY(x)), x1, x2, x3, x) -> f3770_0_main_LT(java.lang.Object(ARRAY(x)), x1, x3, x2, x1 + x2, x) :|: x1 > -1 && x2 > -1 && x2 < x3 14.26/4.82 f3770_0_main_LT(java.lang.Object(ARRAY(x4)), x5, x6, x7, x8, x4) -> f6634_0_main_GE(java.lang.Object(ARRAY(x4)), x5, x6, x7, x8, 0, 2 * x5 + 3 * x7 + 4 * x8, x4) :|: 3 * x7 >= 0 && x8 > -1 && 2 * x5 >= 0 && 4 * x8 >= 0 && 2 * x5 + 3 * x7 >= 0 14.26/4.82 f6634_0_main_GE(java.lang.Object(ARRAY(x9)), x10, x11, x12, x13, x14, x15, x9) -> f3770_0_main_LT(java.lang.Object(ARRAY(x9)), x10, x11, x12, x13 - 1, x9) :|: x14 >= x15 14.26/4.82 f3418_0_main_GE(java.lang.Object(ARRAY(x16)), x17, x18, x19, x16) -> f3418_0_main_GE(java.lang.Object(ARRAY(x16)), x17 + 1, 0, 2 * x17 + 2, x16) :|: x16 > x17 + 1 && x18 >= x19 && x16 > -1 14.26/4.82 f3770_0_main_LT(java.lang.Object(ARRAY(x20)), x21, x22, x23, x24, x20) -> f3418_0_main_GE(java.lang.Object(ARRAY(x20)), x21, x23 + 1, x22, x20) :|: x24 < 0 14.26/4.82 f7118_0_main_LT(java.lang.Object(ARRAY(x25)), x26, x27, x28, x29, x30, x31, x32, x25) -> f7118_0_main_LT(java.lang.Object(ARRAY(x25)), x26, x27, x28, x29, x30, x31, x32 - 1, x25) :|: x32 > -1 14.26/4.82 f7118_0_main_LT(java.lang.Object(ARRAY(x33)), x34, x35, x36, x37, x38, x39, x40, x33) -> f6634_0_main_GE(java.lang.Object(ARRAY(x33)), x34, x35, x36, x37, x39 + 1, x38, x33) :|: x40 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (9) IRSFormatTransformerProof (EQUIVALENT) 14.26/4.82 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (10) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f6634_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i162:0, i161:0, i20:0) -> f7118_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, arith, i20:0) :|: 100 * i78:0 >= 0 && i162:0 < i161:0 && 1000 * i18:0 >= 0 && 10 * i95:0 >= 0 && 1000 * i18:0 + 100 * i78:0 >= 0 && i162:0 > -1 && 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 >= 0 && arith = 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 + i162:0 14.26/4.82 f3418_0_main_GE(java.lang.Object(ARRAY(x41)), x42, x43, x44, x41) -> f3770_0_main_LT(java.lang.Object(ARRAY(x41)), x42, x44, x43, x45, x41) :|: x42 > -1 && x43 > -1 && x43 < x44 && x45 = x42 + x43 14.26/4.82 f3770_0_main_LT(java.lang.Object(ARRAY(x46)), x47, x48, x49, x50, x46) -> f6634_0_main_GE(java.lang.Object(ARRAY(x46)), x47, x48, x49, x50, 0, x51, x46) :|: 3 * x49 >= 0 && x50 > -1 && 2 * x47 >= 0 && 4 * x50 >= 0 && 2 * x47 + 3 * x49 >= 0 && x51 = 2 * x47 + 3 * x49 + 4 * x50 14.26/4.82 f6634_0_main_GE(java.lang.Object(ARRAY(x52)), x53, x54, x55, x56, x57, x58, x52) -> f3770_0_main_LT(java.lang.Object(ARRAY(x52)), x53, x54, x55, x59, x52) :|: x57 >= x58 && x59 = x56 - 1 14.26/4.82 f3418_0_main_GE(java.lang.Object(ARRAY(x60)), x61, x62, x63, x60) -> f3418_0_main_GE(java.lang.Object(ARRAY(x60)), x64, 0, x65, x60) :|: x60 > x61 + 1 && x62 >= x63 && x60 > -1 && x64 = x61 + 1 && x65 = 2 * x61 + 2 14.26/4.82 f3770_0_main_LT(java.lang.Object(ARRAY(x66)), x67, x68, x69, x70, x66) -> f3418_0_main_GE(java.lang.Object(ARRAY(x66)), x67, x71, x68, x66) :|: x70 < 0 && x71 = x69 + 1 14.26/4.82 f7118_0_main_LT(java.lang.Object(ARRAY(x72)), x73, x74, x75, x76, x77, x78, x79, x72) -> f7118_0_main_LT(java.lang.Object(ARRAY(x72)), x73, x74, x75, x76, x77, x78, x80, x72) :|: x79 > -1 && x80 = x79 - 1 14.26/4.82 f7118_0_main_LT(java.lang.Object(ARRAY(x81)), x82, x83, x84, x85, x86, x87, x88, x81) -> f6634_0_main_GE(java.lang.Object(ARRAY(x81)), x82, x83, x84, x85, x89, x86, x81) :|: x88 < 0 && x89 = x87 + 1 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (11) IRSwTTerminationDigraphProof (EQUIVALENT) 14.26/4.82 Constructed termination digraph! 14.26/4.82 Nodes: 14.26/4.82 (1) f6634_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i162:0, i161:0, i20:0) -> f7118_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, arith, i20:0) :|: 100 * i78:0 >= 0 && i162:0 < i161:0 && 1000 * i18:0 >= 0 && 10 * i95:0 >= 0 && 1000 * i18:0 + 100 * i78:0 >= 0 && i162:0 > -1 && 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 >= 0 && arith = 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 + i162:0 14.26/4.82 (2) f3418_0_main_GE(java.lang.Object(ARRAY(x41)), x42, x43, x44, x41) -> f3770_0_main_LT(java.lang.Object(ARRAY(x41)), x42, x44, x43, x45, x41) :|: x42 > -1 && x43 > -1 && x43 < x44 && x45 = x42 + x43 14.26/4.82 (3) f3770_0_main_LT(java.lang.Object(ARRAY(x46)), x47, x48, x49, x50, x46) -> f6634_0_main_GE(java.lang.Object(ARRAY(x46)), x47, x48, x49, x50, 0, x51, x46) :|: 3 * x49 >= 0 && x50 > -1 && 2 * x47 >= 0 && 4 * x50 >= 0 && 2 * x47 + 3 * x49 >= 0 && x51 = 2 * x47 + 3 * x49 + 4 * x50 14.26/4.82 (4) f6634_0_main_GE(java.lang.Object(ARRAY(x52)), x53, x54, x55, x56, x57, x58, x52) -> f3770_0_main_LT(java.lang.Object(ARRAY(x52)), x53, x54, x55, x59, x52) :|: x57 >= x58 && x59 = x56 - 1 14.26/4.82 (5) f3418_0_main_GE(java.lang.Object(ARRAY(x60)), x61, x62, x63, x60) -> f3418_0_main_GE(java.lang.Object(ARRAY(x60)), x64, 0, x65, x60) :|: x60 > x61 + 1 && x62 >= x63 && x60 > -1 && x64 = x61 + 1 && x65 = 2 * x61 + 2 14.26/4.82 (6) f3770_0_main_LT(java.lang.Object(ARRAY(x66)), x67, x68, x69, x70, x66) -> f3418_0_main_GE(java.lang.Object(ARRAY(x66)), x67, x71, x68, x66) :|: x70 < 0 && x71 = x69 + 1 14.26/4.82 (7) f7118_0_main_LT(java.lang.Object(ARRAY(x72)), x73, x74, x75, x76, x77, x78, x79, x72) -> f7118_0_main_LT(java.lang.Object(ARRAY(x72)), x73, x74, x75, x76, x77, x78, x80, x72) :|: x79 > -1 && x80 = x79 - 1 14.26/4.82 (8) f7118_0_main_LT(java.lang.Object(ARRAY(x81)), x82, x83, x84, x85, x86, x87, x88, x81) -> f6634_0_main_GE(java.lang.Object(ARRAY(x81)), x82, x83, x84, x85, x89, x86, x81) :|: x88 < 0 && x89 = x87 + 1 14.26/4.82 14.26/4.82 Arcs: 14.26/4.82 (1) -> (7) 14.26/4.82 (2) -> (3) 14.26/4.82 (3) -> (1), (4) 14.26/4.82 (4) -> (3), (6) 14.26/4.82 (5) -> (2), (5) 14.26/4.82 (6) -> (2), (5) 14.26/4.82 (7) -> (7), (8) 14.26/4.82 (8) -> (1), (4) 14.26/4.82 14.26/4.82 This digraph is fully evaluated! 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (12) 14.26/4.82 Obligation: 14.26/4.82 14.26/4.82 Termination digraph: 14.26/4.82 Nodes: 14.26/4.82 (1) f6634_0_main_GE(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i162:0, i161:0, i20:0) -> f7118_0_main_LT(java.lang.Object(ARRAY(i20:0)), i18:0, i77:0, i78:0, i95:0, i161:0, i162:0, arith, i20:0) :|: 100 * i78:0 >= 0 && i162:0 < i161:0 && 1000 * i18:0 >= 0 && 10 * i95:0 >= 0 && 1000 * i18:0 + 100 * i78:0 >= 0 && i162:0 > -1 && 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 >= 0 && arith = 1000 * i18:0 + 100 * i78:0 + 10 * i95:0 + i162:0 14.26/4.82 (2) f3770_0_main_LT(java.lang.Object(ARRAY(x46)), x47, x48, x49, x50, x46) -> f6634_0_main_GE(java.lang.Object(ARRAY(x46)), x47, x48, x49, x50, 0, x51, x46) :|: 3 * x49 >= 0 && x50 > -1 && 2 * x47 >= 0 && 4 * x50 >= 0 && 2 * x47 + 3 * x49 >= 0 && x51 = 2 * x47 + 3 * x49 + 4 * x50 14.26/4.82 (3) f3418_0_main_GE(java.lang.Object(ARRAY(x41)), x42, x43, x44, x41) -> f3770_0_main_LT(java.lang.Object(ARRAY(x41)), x42, x44, x43, x45, x41) :|: x42 > -1 && x43 > -1 && x43 < x44 && x45 = x42 + x43 14.26/4.82 (4) f3418_0_main_GE(java.lang.Object(ARRAY(x60)), x61, x62, x63, x60) -> f3418_0_main_GE(java.lang.Object(ARRAY(x60)), x64, 0, x65, x60) :|: x60 > x61 + 1 && x62 >= x63 && x60 > -1 && x64 = x61 + 1 && x65 = 2 * x61 + 2 14.26/4.82 (5) f3770_0_main_LT(java.lang.Object(ARRAY(x66)), x67, x68, x69, x70, x66) -> f3418_0_main_GE(java.lang.Object(ARRAY(x66)), x67, x71, x68, x66) :|: x70 < 0 && x71 = x69 + 1 14.26/4.82 (6) f6634_0_main_GE(java.lang.Object(ARRAY(x52)), x53, x54, x55, x56, x57, x58, x52) -> f3770_0_main_LT(java.lang.Object(ARRAY(x52)), x53, x54, x55, x59, x52) :|: x57 >= x58 && x59 = x56 - 1 14.26/4.82 (7) f7118_0_main_LT(java.lang.Object(ARRAY(x81)), x82, x83, x84, x85, x86, x87, x88, x81) -> f6634_0_main_GE(java.lang.Object(ARRAY(x81)), x82, x83, x84, x85, x89, x86, x81) :|: x88 < 0 && x89 = x87 + 1 14.26/4.82 (8) f7118_0_main_LT(java.lang.Object(ARRAY(x72)), x73, x74, x75, x76, x77, x78, x79, x72) -> f7118_0_main_LT(java.lang.Object(ARRAY(x72)), x73, x74, x75, x76, x77, x78, x80, x72) :|: x79 > -1 && x80 = x79 - 1 14.26/4.82 14.26/4.82 Arcs: 14.26/4.82 (1) -> (8) 14.26/4.82 (2) -> (1), (6) 14.26/4.82 (3) -> (2) 14.26/4.82 (4) -> (3), (4) 14.26/4.82 (5) -> (3), (4) 14.26/4.82 (6) -> (2), (5) 14.26/4.82 (7) -> (1), (6) 14.26/4.82 (8) -> (7), (8) 14.26/4.82 14.26/4.82 This digraph is fully evaluated! 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (13) IntTRSCompressionProof (EQUIVALENT) 14.26/4.82 Compressed rules. 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (14) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(java.lang.Object(ARRAY(x72:0)), x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(java.lang.Object(ARRAY(x72:0)), x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0 - 1, x72:0) :|: x79:0 > -1 14.26/4.82 f3418_0_main_GE(java.lang.Object(ARRAY(x41:0)), x42:0, x43:0, x44:0, x41:0) -> f3770_0_main_LT(java.lang.Object(ARRAY(x41:0)), x42:0, x44:0, x43:0, x42:0 + x43:0, x41:0) :|: x42:0 > -1 && x43:0 > -1 && x44:0 > x43:0 14.26/4.82 f6634_0_main_GE(java.lang.Object(ARRAY(i20:0:0)), i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(java.lang.Object(ARRAY(i20:0:0)), i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0, i20:0:0) :|: i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0 14.26/4.82 f3770_0_main_LT(java.lang.Object(ARRAY(x46:0)), x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(java.lang.Object(ARRAY(x46:0)), x47:0, x48:0, x49:0, x50:0, 0, 2 * x47:0 + 3 * x49:0 + 4 * x50:0, x46:0) :|: 4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0 14.26/4.82 f6634_0_main_GE(java.lang.Object(ARRAY(x52:0)), x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(java.lang.Object(ARRAY(x52:0)), x53:0, x54:0, x55:0, x56:0 - 1, x52:0) :|: x58:0 <= x57:0 14.26/4.82 f3770_0_main_LT(java.lang.Object(ARRAY(x66:0)), x67:0, x68:0, x69:0, x70:0, x66:0) -> f3418_0_main_GE(java.lang.Object(ARRAY(x66:0)), x67:0, x69:0 + 1, x68:0, x66:0) :|: x70:0 < 0 14.26/4.82 f7118_0_main_LT(java.lang.Object(ARRAY(x81:0)), x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(java.lang.Object(ARRAY(x81:0)), x82:0, x83:0, x84:0, x85:0, x87:0 + 1, x86:0, x81:0) :|: x88:0 < 0 14.26/4.82 f3418_0_main_GE(java.lang.Object(ARRAY(x60:0)), x61:0, x62:0, x63:0, x60:0) -> f3418_0_main_GE(java.lang.Object(ARRAY(x60:0)), x61:0 + 1, 0, 2 * x61:0 + 2, x60:0) :|: x61:0 + 1 < x60:0 && x63:0 <= x62:0 && x60:0 > -1 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (15) TempFilterProof (SOUND) 14.26/4.82 Used the following sort dictionary for filtering: 14.26/4.82 f7118_0_main_LT(VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE) 14.26/4.82 java.lang.Object(VARIABLE) 14.26/4.82 ARRAY(VARIABLE) 14.26/4.82 f3418_0_main_GE(VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) 14.26/4.82 f3770_0_main_LT(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, VARIABLE) 14.26/4.82 f6634_0_main_GE(VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) 14.26/4.82 Replaced non-predefined constructor symbols by 0. 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (16) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f3418_0_main_GE(c3, x42:0, x43:0, x44:0, x41:0) -> f3770_0_main_LT(c4, x42:0, x44:0, x43:0, c5, x41:0) :|: c5 = x42:0 + x43:0 && (c4 = 0 && c3 = 0) && (x42:0 > -1 && x43:0 > -1 && x44:0 > x43:0) 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f3770_0_main_LT(c16, x67:0, x68:0, x69:0, x70:0, x66:0) -> f3418_0_main_GE(c17, x67:0, c18, x68:0, x66:0) :|: c18 = x69:0 + 1 && (c17 = 0 && c16 = 0) && x70:0 < 0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 f3418_0_main_GE(c22, x61:0, x62:0, x63:0, x60:0) -> f3418_0_main_GE(c23, c24, c25, c26, x60:0) :|: c26 = 2 * x61:0 + 2 && (c25 = 0 && (c24 = x61:0 + 1 && (c23 = 0 && c22 = 0))) && (x61:0 + 1 < x60:0 && x63:0 <= x62:0 && x60:0 > -1) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (17) PolynomialOrderProcessor (EQUIVALENT) 14.26/4.82 Found the following polynomial interpretation: 14.26/4.82 [f7118_0_main_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = -1 + c*x - x1 + x8 14.26/4.82 [f3418_0_main_GE(x9, x10, x11, x12, x13)] = -1 - x10 + x13 + c9*x9 14.26/4.82 [f3770_0_main_LT(x14, x15, x16, x17, x18, x19)] = -1 + c14*x14 - x15 + x19 14.26/4.82 [f6634_0_main_GE(x20, x21, x22, x23, x24, x25, x26, x27)] = -1 + c20*x20 - x21 + x27 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f3418_0_main_GE(c22, x61:0, x62:0, x63:0, x60:0) -> f3418_0_main_GE(c23, c24, c25, c26, x60:0) :|: c26 = 2 * x61:0 + 2 && (c25 = 0 && (c24 = x61:0 + 1 && (c23 = 0 && c22 = 0))) && (x61:0 + 1 < x60:0 && x63:0 <= x62:0 && x60:0 > -1) 14.26/4.82 The following rules are bounded: 14.26/4.82 f3418_0_main_GE(c22, x61:0, x62:0, x63:0, x60:0) -> f3418_0_main_GE(c23, c24, c25, c26, x60:0) :|: c26 = 2 * x61:0 + 2 && (c25 = 0 && (c24 = x61:0 + 1 && (c23 = 0 && c22 = 0))) && (x61:0 + 1 < x60:0 && x63:0 <= x62:0 && x60:0 > -1) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (18) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f3418_0_main_GE(c3, x42:0, x43:0, x44:0, x41:0) -> f3770_0_main_LT(c4, x42:0, x44:0, x43:0, c5, x41:0) :|: c5 = x42:0 + x43:0 && (c4 = 0 && c3 = 0) && (x42:0 > -1 && x43:0 > -1 && x44:0 > x43:0) 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f3770_0_main_LT(c16, x67:0, x68:0, x69:0, x70:0, x66:0) -> f3418_0_main_GE(c17, x67:0, c18, x68:0, x66:0) :|: c18 = x69:0 + 1 && (c17 = 0 && c16 = 0) && x70:0 < 0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (19) PolynomialOrderProcessor (EQUIVALENT) 14.26/4.82 Found the following polynomial interpretation: 14.26/4.82 [f7118_0_main_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = -1 + c*x + x1 + x2 - x3 14.26/4.82 [f3418_0_main_GE(x9, x10, x11, x12, x13)] = -1 + x10 - x11 + x12 + c9*x9 14.26/4.82 [f3770_0_main_LT(x14, x15, x16, x17, x18, x19)] = -1 + c14*x14 + x15 + x16 - x17 14.26/4.82 [f6634_0_main_GE(x20, x21, x22, x23, x24, x25, x26, x27)] = -1 + c20*x20 + x21 + x22 - x23 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f3770_0_main_LT(c16, x67:0, x68:0, x69:0, x70:0, x66:0) -> f3418_0_main_GE(c17, x67:0, c18, x68:0, x66:0) :|: c18 = x69:0 + 1 && (c17 = 0 && c16 = 0) && x70:0 < 0 14.26/4.82 The following rules are bounded: 14.26/4.82 f3418_0_main_GE(c3, x42:0, x43:0, x44:0, x41:0) -> f3770_0_main_LT(c4, x42:0, x44:0, x43:0, c5, x41:0) :|: c5 = x42:0 + x43:0 && (c4 = 0 && c3 = 0) && (x42:0 > -1 && x43:0 > -1 && x44:0 > x43:0) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (20) 14.26/4.82 Complex Obligation (AND) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (21) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f3418_0_main_GE(c3, x42:0, x43:0, x44:0, x41:0) -> f3770_0_main_LT(c4, x42:0, x44:0, x43:0, c5, x41:0) :|: c5 = x42:0 + x43:0 && (c4 = 0 && c3 = 0) && (x42:0 > -1 && x43:0 > -1 && x44:0 > x43:0) 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (22) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = 0 14.26/4.82 [ f3418_0_main_GE ] = 1 14.26/4.82 [ f3770_0_main_LT ] = 0 14.26/4.82 [ f6634_0_main_GE ] = 0 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f3418_0_main_GE(c3, x42:0, x43:0, x44:0, x41:0) -> f3770_0_main_LT(c4, x42:0, x44:0, x43:0, c5, x41:0) :|: c5 = x42:0 + x43:0 && (c4 = 0 && c3 = 0) && (x42:0 > -1 && x43:0 > -1 && x44:0 > x43:0) 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f3418_0_main_GE(c3, x42:0, x43:0, x44:0, x41:0) -> f3770_0_main_LT(c4, x42:0, x44:0, x43:0, c5, x41:0) :|: c5 = x42:0 + x43:0 && (c4 = 0 && c3 = 0) && (x42:0 > -1 && x43:0 > -1 && x44:0 > x43:0) 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (23) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (24) PolynomialOrderProcessor (EQUIVALENT) 14.26/4.82 Found the following polynomial interpretation: 14.26/4.82 [f7118_0_main_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = c*x + 100*x1 + 10*x3 + x4 14.26/4.82 [f6634_0_main_GE(x9, x10, x11, x12, x13, x14, x15, x16)] = 100*x10 + 10*x12 + x13 + c9*x9 14.26/4.82 [f3770_0_main_LT(x17, x18, x19, x20, x21, x22)] = c17*x17 + 100*x18 + 10*x20 + x21 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 The following rules are bounded: 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (25) 14.26/4.82 Complex Obligation (AND) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (26) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (27) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = 0 14.26/4.82 [ f6634_0_main_GE ] = 0 14.26/4.82 [ f3770_0_main_LT ] = 1 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (28) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (29) PolynomialOrderProcessor (EQUIVALENT) 14.26/4.82 Found the following polynomial interpretation: 14.26/4.82 [f7118_0_main_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = -1 + c*x + 100*x1 + 10*x3 + x4 + x5 - x6 14.26/4.82 [f6634_0_main_GE(x9, x10, x11, x12, x13, x14, x15, x16)] = -1 + 100*x10 + 10*x12 + x13 - x14 + x15 + c9*x9 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 The following rules are bounded: 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (30) 14.26/4.82 Complex Obligation (AND) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (31) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (32) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = f7118_0_main_LT_8 14.26/4.82 [ f6634_0_main_GE ] = f6634_0_main_GE_6 + 1000*f6634_0_main_GE_2 + 100*f6634_0_main_GE_4 + 10*f6634_0_main_GE_5 + 1 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (33) 14.26/4.82 YES 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (34) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (35) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = 0 14.26/4.82 [ f6634_0_main_GE ] = -1 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (36) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (37) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = f7118_0_main_LT_8 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (38) 14.26/4.82 YES 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (39) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (40) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = 0 14.26/4.82 [ f6634_0_main_GE ] = -1 14.26/4.82 [ f3770_0_main_LT ] = -2 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (41) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (42) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = f7118_0_main_LT_8 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (43) 14.26/4.82 YES 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (44) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f3770_0_main_LT(c16, x67:0, x68:0, x69:0, x70:0, x66:0) -> f3418_0_main_GE(c17, x67:0, c18, x68:0, x66:0) :|: c18 = x69:0 + 1 && (c17 = 0 && c16 = 0) && x70:0 < 0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (45) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = 0 14.26/4.82 [ f6634_0_main_GE ] = 0 14.26/4.82 [ f3770_0_main_LT ] = 0 14.26/4.82 [ f3418_0_main_GE ] = -1 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f3770_0_main_LT(c16, x67:0, x68:0, x69:0, x70:0, x66:0) -> f3418_0_main_GE(c17, x67:0, c18, x68:0, x66:0) :|: c18 = x69:0 + 1 && (c17 = 0 && c16 = 0) && x70:0 < 0 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f3770_0_main_LT(c16, x67:0, x68:0, x69:0, x70:0, x66:0) -> f3418_0_main_GE(c17, x67:0, c18, x68:0, x66:0) :|: c18 = x69:0 + 1 && (c17 = 0 && c16 = 0) && x70:0 < 0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (46) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (47) PolynomialOrderProcessor (EQUIVALENT) 14.26/4.82 Found the following polynomial interpretation: 14.26/4.82 [f7118_0_main_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = c*x + 100*x1 + 10*x3 + x4 14.26/4.82 [f6634_0_main_GE(x9, x10, x11, x12, x13, x14, x15, x16)] = 100*x10 + 10*x12 + x13 + c9*x9 14.26/4.82 [f3770_0_main_LT(x17, x18, x19, x20, x21, x22)] = c17*x17 + 100*x18 + 10*x20 + x21 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 The following rules are bounded: 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (48) 14.26/4.82 Complex Obligation (AND) 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (49) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (50) PolynomialOrderProcessor (EQUIVALENT) 14.26/4.82 Found the following polynomial interpretation: 14.26/4.82 [f7118_0_main_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = c*x 14.26/4.82 [f6634_0_main_GE(x9, x10, x11, x12, x13, x14, x15, x16)] = c9*x9 14.26/4.82 [f3770_0_main_LT(x17, x18, x19, x20, x21, x22)] = 1 + c17*x17 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f3770_0_main_LT(c9, x47:0, x48:0, x49:0, x50:0, x46:0) -> f6634_0_main_GE(c10, x47:0, x48:0, x49:0, x50:0, c11, c12, x46:0) :|: c12 = 2 * x47:0 + 3 * x49:0 + 4 * x50:0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (4 * x50:0 >= 0 && 2 * x47:0 + 3 * x49:0 >= 0 && 2 * x47:0 >= 0 && x50:0 > -1 && 3 * x49:0 >= 0) 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (51) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (52) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = 2*f7118_0_main_LT_2 + 2*f7118_0_main_LT_4 + 2*f7118_0_main_LT_5 + 2*f7118_0_main_LT_6 + -2*f7118_0_main_LT_7 + -1 14.26/4.82 [ f6634_0_main_GE ] = -2*f6634_0_main_GE_6 + 2*f6634_0_main_GE_2 + 2*f6634_0_main_GE_4 + 2*f6634_0_main_GE_5 + 2*f6634_0_main_GE_7 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f6634_0_main_GE(c6, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i162:0:0, i161:0:0, i20:0:0) -> f7118_0_main_LT(c7, i18:0:0, i77:0:0, i78:0:0, i95:0:0, i161:0:0, i162:0:0, c8, i20:0:0) :|: c8 = 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 + i162:0:0 && (c7 = 0 && c6 = 0) && (i162:0:0 > -1 && 1000 * i18:0:0 + 100 * i78:0:0 + 10 * i95:0:0 >= 0 && 1000 * i18:0:0 + 100 * i78:0:0 >= 0 && 10 * i95:0:0 >= 0 && 1000 * i18:0:0 >= 0 && i162:0:0 < i161:0:0 && 100 * i78:0:0 >= 0) 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (53) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (54) PolynomialOrderProcessor (EQUIVALENT) 14.26/4.82 Found the following polynomial interpretation: 14.26/4.82 [f7118_0_main_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = 1 + c*x 14.26/4.82 [f6634_0_main_GE(x9, x10, x11, x12, x13, x14, x15, x16)] = c9*x9 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (55) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (56) PolynomialOrderProcessor (EQUIVALENT) 14.26/4.82 Found the following polynomial interpretation: 14.26/4.82 [f7118_0_main_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = c*x + x7 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (57) 14.26/4.82 YES 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (58) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (59) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = 0 14.26/4.82 [ f6634_0_main_GE ] = -1 14.26/4.82 [ f3770_0_main_LT ] = -2 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 f6634_0_main_GE(c13, x53:0, x54:0, x55:0, x56:0, x57:0, x58:0, x52:0) -> f3770_0_main_LT(c14, x53:0, x54:0, x55:0, c15, x52:0) :|: c15 = x56:0 - 1 && (c14 = 0 && c13 = 0) && x58:0 <= x57:0 14.26/4.82 f7118_0_main_LT(c19, x82:0, x83:0, x84:0, x85:0, x86:0, x87:0, x88:0, x81:0) -> f6634_0_main_GE(c20, x82:0, x83:0, x84:0, x85:0, c21, x86:0, x81:0) :|: c21 = x87:0 + 1 && (c20 = 0 && c19 = 0) && x88:0 < 0 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (60) 14.26/4.82 Obligation: 14.26/4.82 Rules: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (61) RankingReductionPairProof (EQUIVALENT) 14.26/4.82 Interpretation: 14.26/4.82 [ f7118_0_main_LT ] = f7118_0_main_LT_8 14.26/4.82 14.26/4.82 The following rules are decreasing: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 The following rules are bounded: 14.26/4.82 f7118_0_main_LT(c, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, x79:0, x72:0) -> f7118_0_main_LT(c1, x73:0, x74:0, x75:0, x76:0, x77:0, x78:0, c2, x72:0) :|: c2 = x79:0 - 1 && (c1 = 0 && c = 0) && x79:0 > -1 14.26/4.82 14.26/4.82 14.26/4.82 ---------------------------------------- 14.26/4.82 14.26/4.82 (62) 14.26/4.82 YES 14.35/4.88 EOF