YES proof of prog.inttrs # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination of the given IRSwT could be proven: (0) IRSwT (1) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (2) IRSwT (3) IRSwTTerminationDigraphProof [EQUIVALENT, 669 ms] (4) TRUE ---------------------------------------- (0) Obligation: Rules: l0(i1HAT0, i2HAT0, i3HAT0, i4HAT0, i5HAT0, i6HAT0, i7HAT0, i8HAT0, n17HAT0, n21HAT0, n25HAT0, n29HAT0, n33HAT0, n37HAT0, n41HAT0, n45HAT0, ret18HAT0, ret22HAT0, ret26HAT0, ret30HAT0, ret34HAT0, ret38HAT0, ret42HAT0, ret46HAT0, ret_fn120HAT0, ret_fn124HAT0, ret_fn128HAT0, ret_fn132HAT0, ret_fn136HAT0, ret_fn140HAT0, ret_fn144HAT0, ret_fn148HAT0, tmp19HAT0, tmp23HAT0, tmp27HAT0, tmp31HAT0, tmp35HAT0, tmp39HAT0, tmp43HAT0, tmp47HAT0, tmpHAT0, tmp___0HAT0, tmp___1HAT0, tmp___2HAT0, tmp___3HAT0, tmp___4HAT0, tmp___5HAT0, tmp___6HAT0) -> l1(i1HATpost, i2HATpost, i3HATpost, i4HATpost, i5HATpost, i6HATpost, i7HATpost, i8HATpost, n17HATpost, n21HATpost, n25HATpost, n29HATpost, n33HATpost, n37HATpost, n41HATpost, n45HATpost, ret18HATpost, ret22HATpost, ret26HATpost, ret30HATpost, ret34HATpost, ret38HATpost, ret42HATpost, ret46HATpost, ret_fn120HATpost, ret_fn124HATpost, ret_fn128HATpost, ret_fn132HATpost, ret_fn136HATpost, ret_fn140HATpost, ret_fn144HATpost, ret_fn148HATpost, tmp19HATpost, tmp23HATpost, tmp27HATpost, tmp31HATpost, tmp35HATpost, tmp39HATpost, tmp43HATpost, tmp47HATpost, tmpHATpost, tmp___0HATpost, tmp___1HATpost, tmp___2HATpost, tmp___3HATpost, tmp___4HATpost, tmp___5HATpost, tmp___6HATpost) :|: i8HATpost = tmp___6HATpost && tmp___6HATpost = ret_fn148HATpost && ret_fn148HATpost = ret46HATpost && ret46HATpost = tmp47HATpost && tmp47HATpost = tmp47HATpost && n45HATpost = 2 && i7HATpost = tmp___5HATpost && tmp___5HATpost = ret_fn144HATpost && ret_fn144HATpost = ret42HATpost && ret42HATpost = tmp43HATpost && tmp43HATpost = tmp43HATpost && n41HATpost = 2 && i6HATpost = tmp___4HATpost && tmp___4HATpost = ret_fn140HATpost && ret_fn140HATpost = ret38HATpost && ret38HATpost = tmp39HATpost && tmp39HATpost = tmp39HATpost && n37HATpost = 2 && i5HATpost = tmp___3HATpost && tmp___3HATpost = ret_fn136HATpost && ret_fn136HATpost = ret34HATpost && ret34HATpost = tmp35HATpost && tmp35HATpost = tmp35HATpost && n33HATpost = 2 && i4HATpost = tmp___2HATpost && tmp___2HATpost = ret_fn132HATpost && ret_fn132HATpost = ret30HATpost && ret30HATpost = tmp31HATpost && tmp31HATpost = tmp31HATpost && n29HATpost = 2 && i3HATpost = tmp___1HATpost && tmp___1HATpost = ret_fn128HATpost && ret_fn128HATpost = ret26HATpost && ret26HATpost = tmp27HATpost && tmp27HATpost = tmp27HATpost && n25HATpost = 2 && i2HATpost = tmp___0HATpost && tmp___0HATpost = ret_fn124HATpost && ret_fn124HATpost = ret22HATpost && ret22HATpost = tmp23HATpost && tmp23HATpost = tmp23HATpost && n21HATpost = 2 && i1HATpost = tmpHATpost && tmpHATpost = ret_fn120HATpost && ret_fn120HATpost = ret18HATpost && ret18HATpost = tmp19HATpost && tmp19HATpost = tmp19HATpost && n17HATpost = 2 l2(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47) -> l0(x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63, x64, x65, x66, x67, x68, x69, x70, x71, x72, x73, x74, x75, x76, x77, x78, x79, x80, x81, x82, x83, x84, x85, x86, x87, x88, x89, x90, x91, x92, x93, x94, x95) :|: x47 = x95 && x46 = x94 && x45 = x93 && x44 = x92 && x43 = x91 && x42 = x90 && x41 = x89 && x39 = x87 && x38 = x86 && x37 = x85 && x36 = x84 && x35 = x83 && x34 = x82 && x33 = x81 && x32 = x80 && x40 = x88 && x31 = x79 && x30 = x78 && x29 = x77 && x28 = x76 && x27 = x75 && x26 = x74 && x25 = x73 && x24 = x72 && x23 = x71 && x22 = x70 && x21 = x69 && x20 = x68 && x19 = x67 && x18 = x66 && x17 = x65 && x16 = x64 && x15 = x63 && x14 = x62 && x13 = x61 && x12 = x60 && x11 = x59 && x10 = x58 && x9 = x57 && x8 = x56 && x7 = x55 && x6 = x54 && x5 = x53 && x4 = x52 && x3 = x51 && x2 = x50 && x1 = x49 && x = x48 Start term: l2(i1HAT0, i2HAT0, i3HAT0, i4HAT0, i5HAT0, i6HAT0, i7HAT0, i8HAT0, n17HAT0, n21HAT0, n25HAT0, n29HAT0, n33HAT0, n37HAT0, n41HAT0, n45HAT0, ret18HAT0, ret22HAT0, ret26HAT0, ret30HAT0, ret34HAT0, ret38HAT0, ret42HAT0, ret46HAT0, ret_fn120HAT0, ret_fn124HAT0, ret_fn128HAT0, ret_fn132HAT0, ret_fn136HAT0, ret_fn140HAT0, ret_fn144HAT0, ret_fn148HAT0, tmp19HAT0, tmp23HAT0, tmp27HAT0, tmp31HAT0, tmp35HAT0, tmp39HAT0, tmp43HAT0, tmp47HAT0, tmpHAT0, tmp___0HAT0, tmp___1HAT0, tmp___2HAT0, tmp___3HAT0, tmp___4HAT0, tmp___5HAT0, tmp___6HAT0) ---------------------------------------- (1) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (2) Obligation: Rules: l0(i1HAT0, i2HAT0, i3HAT0, i4HAT0, i5HAT0, i6HAT0, i7HAT0, i8HAT0, n17HAT0, n21HAT0, n25HAT0, n29HAT0, n33HAT0, n37HAT0, n41HAT0, n45HAT0, ret18HAT0, ret22HAT0, ret26HAT0, ret30HAT0, ret34HAT0, ret38HAT0, ret42HAT0, ret46HAT0, ret_fn120HAT0, ret_fn124HAT0, ret_fn128HAT0, ret_fn132HAT0, ret_fn136HAT0, ret_fn140HAT0, ret_fn144HAT0, ret_fn148HAT0, tmp19HAT0, tmp23HAT0, tmp27HAT0, tmp31HAT0, tmp35HAT0, tmp39HAT0, tmp43HAT0, tmp47HAT0, tmpHAT0, tmp___0HAT0, tmp___1HAT0, tmp___2HAT0, tmp___3HAT0, tmp___4HAT0, tmp___5HAT0, tmp___6HAT0) -> l1(i1HATpost, i2HATpost, i3HATpost, i4HATpost, i5HATpost, i6HATpost, i7HATpost, i8HATpost, n17HATpost, n21HATpost, n25HATpost, n29HATpost, n33HATpost, n37HATpost, n41HATpost, n45HATpost, ret18HATpost, ret22HATpost, ret26HATpost, ret30HATpost, ret34HATpost, ret38HATpost, ret42HATpost, ret46HATpost, ret_fn120HATpost, ret_fn124HATpost, ret_fn128HATpost, ret_fn132HATpost, ret_fn136HATpost, ret_fn140HATpost, ret_fn144HATpost, ret_fn148HATpost, tmp19HATpost, tmp23HATpost, tmp27HATpost, tmp31HATpost, tmp35HATpost, tmp39HATpost, tmp43HATpost, tmp47HATpost, tmpHATpost, tmp___0HATpost, tmp___1HATpost, tmp___2HATpost, tmp___3HATpost, tmp___4HATpost, tmp___5HATpost, tmp___6HATpost) :|: i8HATpost = tmp___6HATpost && tmp___6HATpost = ret_fn148HATpost && ret_fn148HATpost = ret46HATpost && ret46HATpost = tmp47HATpost && tmp47HATpost = tmp47HATpost && n45HATpost = 2 && i7HATpost = tmp___5HATpost && tmp___5HATpost = ret_fn144HATpost && ret_fn144HATpost = ret42HATpost && ret42HATpost = tmp43HATpost && tmp43HATpost = tmp43HATpost && n41HATpost = 2 && i6HATpost = tmp___4HATpost && tmp___4HATpost = ret_fn140HATpost && ret_fn140HATpost = ret38HATpost && ret38HATpost = tmp39HATpost && tmp39HATpost = tmp39HATpost && n37HATpost = 2 && i5HATpost = tmp___3HATpost && tmp___3HATpost = ret_fn136HATpost && ret_fn136HATpost = ret34HATpost && ret34HATpost = tmp35HATpost && tmp35HATpost = tmp35HATpost && n33HATpost = 2 && i4HATpost = tmp___2HATpost && tmp___2HATpost = ret_fn132HATpost && ret_fn132HATpost = ret30HATpost && ret30HATpost = tmp31HATpost && tmp31HATpost = tmp31HATpost && n29HATpost = 2 && i3HATpost = tmp___1HATpost && tmp___1HATpost = ret_fn128HATpost && ret_fn128HATpost = ret26HATpost && ret26HATpost = tmp27HATpost && tmp27HATpost = tmp27HATpost && n25HATpost = 2 && i2HATpost = tmp___0HATpost && tmp___0HATpost = ret_fn124HATpost && ret_fn124HATpost = ret22HATpost && ret22HATpost = tmp23HATpost && tmp23HATpost = tmp23HATpost && n21HATpost = 2 && i1HATpost = tmpHATpost && tmpHATpost = ret_fn120HATpost && ret_fn120HATpost = ret18HATpost && ret18HATpost = tmp19HATpost && tmp19HATpost = tmp19HATpost && n17HATpost = 2 l2(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47) -> l0(x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63, x64, x65, x66, x67, x68, x69, x70, x71, x72, x73, x74, x75, x76, x77, x78, x79, x80, x81, x82, x83, x84, x85, x86, x87, x88, x89, x90, x91, x92, x93, x94, x95) :|: x47 = x95 && x46 = x94 && x45 = x93 && x44 = x92 && x43 = x91 && x42 = x90 && x41 = x89 && x39 = x87 && x38 = x86 && x37 = x85 && x36 = x84 && x35 = x83 && x34 = x82 && x33 = x81 && x32 = x80 && x40 = x88 && x31 = x79 && x30 = x78 && x29 = x77 && x28 = x76 && x27 = x75 && x26 = x74 && x25 = x73 && x24 = x72 && x23 = x71 && x22 = x70 && x21 = x69 && x20 = x68 && x19 = x67 && x18 = x66 && x17 = x65 && x16 = x64 && x15 = x63 && x14 = x62 && x13 = x61 && x12 = x60 && x11 = x59 && x10 = x58 && x9 = x57 && x8 = x56 && x7 = x55 && x6 = x54 && x5 = x53 && x4 = x52 && x3 = x51 && x2 = x50 && x1 = x49 && x = x48 Start term: l2(i1HAT0, i2HAT0, i3HAT0, i4HAT0, i5HAT0, i6HAT0, i7HAT0, i8HAT0, n17HAT0, n21HAT0, n25HAT0, n29HAT0, n33HAT0, n37HAT0, n41HAT0, n45HAT0, ret18HAT0, ret22HAT0, ret26HAT0, ret30HAT0, ret34HAT0, ret38HAT0, ret42HAT0, ret46HAT0, ret_fn120HAT0, ret_fn124HAT0, ret_fn128HAT0, ret_fn132HAT0, ret_fn136HAT0, ret_fn140HAT0, ret_fn144HAT0, ret_fn148HAT0, tmp19HAT0, tmp23HAT0, tmp27HAT0, tmp31HAT0, tmp35HAT0, tmp39HAT0, tmp43HAT0, tmp47HAT0, tmpHAT0, tmp___0HAT0, tmp___1HAT0, tmp___2HAT0, tmp___3HAT0, tmp___4HAT0, tmp___5HAT0, tmp___6HAT0) ---------------------------------------- (3) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) l0(i1HAT0, i2HAT0, i3HAT0, i4HAT0, i5HAT0, i6HAT0, i7HAT0, i8HAT0, n17HAT0, n21HAT0, n25HAT0, n29HAT0, n33HAT0, n37HAT0, n41HAT0, n45HAT0, ret18HAT0, ret22HAT0, ret26HAT0, ret30HAT0, ret34HAT0, ret38HAT0, ret42HAT0, ret46HAT0, ret_fn120HAT0, ret_fn124HAT0, ret_fn128HAT0, ret_fn132HAT0, ret_fn136HAT0, ret_fn140HAT0, ret_fn144HAT0, ret_fn148HAT0, tmp19HAT0, tmp23HAT0, tmp27HAT0, tmp31HAT0, tmp35HAT0, tmp39HAT0, tmp43HAT0, tmp47HAT0, tmpHAT0, tmp___0HAT0, tmp___1HAT0, tmp___2HAT0, tmp___3HAT0, tmp___4HAT0, tmp___5HAT0, tmp___6HAT0) -> l1(i1HATpost, i2HATpost, i3HATpost, i4HATpost, i5HATpost, i6HATpost, i7HATpost, i8HATpost, n17HATpost, n21HATpost, n25HATpost, n29HATpost, n33HATpost, n37HATpost, n41HATpost, n45HATpost, ret18HATpost, ret22HATpost, ret26HATpost, ret30HATpost, ret34HATpost, ret38HATpost, ret42HATpost, ret46HATpost, ret_fn120HATpost, ret_fn124HATpost, ret_fn128HATpost, ret_fn132HATpost, ret_fn136HATpost, ret_fn140HATpost, ret_fn144HATpost, ret_fn148HATpost, tmp19HATpost, tmp23HATpost, tmp27HATpost, tmp31HATpost, tmp35HATpost, tmp39HATpost, tmp43HATpost, tmp47HATpost, tmpHATpost, tmp___0HATpost, tmp___1HATpost, tmp___2HATpost, tmp___3HATpost, tmp___4HATpost, tmp___5HATpost, tmp___6HATpost) :|: i8HATpost = tmp___6HATpost && tmp___6HATpost = ret_fn148HATpost && ret_fn148HATpost = ret46HATpost && ret46HATpost = tmp47HATpost && tmp47HATpost = tmp47HATpost && n45HATpost = 2 && i7HATpost = tmp___5HATpost && tmp___5HATpost = ret_fn144HATpost && ret_fn144HATpost = ret42HATpost && ret42HATpost = tmp43HATpost && tmp43HATpost = tmp43HATpost && n41HATpost = 2 && i6HATpost = tmp___4HATpost && tmp___4HATpost = ret_fn140HATpost && ret_fn140HATpost = ret38HATpost && ret38HATpost = tmp39HATpost && tmp39HATpost = tmp39HATpost && n37HATpost = 2 && i5HATpost = tmp___3HATpost && tmp___3HATpost = ret_fn136HATpost && ret_fn136HATpost = ret34HATpost && ret34HATpost = tmp35HATpost && tmp35HATpost = tmp35HATpost && n33HATpost = 2 && i4HATpost = tmp___2HATpost && tmp___2HATpost = ret_fn132HATpost && ret_fn132HATpost = ret30HATpost && ret30HATpost = tmp31HATpost && tmp31HATpost = tmp31HATpost && n29HATpost = 2 && i3HATpost = tmp___1HATpost && tmp___1HATpost = ret_fn128HATpost && ret_fn128HATpost = ret26HATpost && ret26HATpost = tmp27HATpost && tmp27HATpost = tmp27HATpost && n25HATpost = 2 && i2HATpost = tmp___0HATpost && tmp___0HATpost = ret_fn124HATpost && ret_fn124HATpost = ret22HATpost && ret22HATpost = tmp23HATpost && tmp23HATpost = tmp23HATpost && n21HATpost = 2 && i1HATpost = tmpHATpost && tmpHATpost = ret_fn120HATpost && ret_fn120HATpost = ret18HATpost && ret18HATpost = tmp19HATpost && tmp19HATpost = tmp19HATpost && n17HATpost = 2 (2) l2(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47) -> l0(x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63, x64, x65, x66, x67, x68, x69, x70, x71, x72, x73, x74, x75, x76, x77, x78, x79, x80, x81, x82, x83, x84, x85, x86, x87, x88, x89, x90, x91, x92, x93, x94, x95) :|: x47 = x95 && x46 = x94 && x45 = x93 && x44 = x92 && x43 = x91 && x42 = x90 && x41 = x89 && x39 = x87 && x38 = x86 && x37 = x85 && x36 = x84 && x35 = x83 && x34 = x82 && x33 = x81 && x32 = x80 && x40 = x88 && x31 = x79 && x30 = x78 && x29 = x77 && x28 = x76 && x27 = x75 && x26 = x74 && x25 = x73 && x24 = x72 && x23 = x71 && x22 = x70 && x21 = x69 && x20 = x68 && x19 = x67 && x18 = x66 && x17 = x65 && x16 = x64 && x15 = x63 && x14 = x62 && x13 = x61 && x12 = x60 && x11 = x59 && x10 = x58 && x9 = x57 && x8 = x56 && x7 = x55 && x6 = x54 && x5 = x53 && x4 = x52 && x3 = x51 && x2 = x50 && x1 = x49 && x = x48 Arcs: (2) -> (1) This digraph is fully evaluated! ---------------------------------------- (4) TRUE