NO ### Pre-processing the ITS problem ### Initial linear ITS problem Start location: __init 0: f1_0_main_Load -> f229_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 && 0==arg2P_1 && 0==arg3P_1 ], cost: 1 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg3>=x3_1 && arg2-1 && arg1>0 && arg2==arg1P_2 && arg3==arg2P_2 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ x7_1>-1 && x7_1>arg2 && arg3-1 && arg3>-1 && arg1>0 && arg2==arg1P_3 && 1+arg3==arg2P_3 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg2>=x16_1 && arg3<=x16_1 && arg1>0 && 0==arg1P_5 && 0==arg2P_5 ], cost: 1 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, [ arg10 && 1+arg1==arg2P_4 && arg2==arg3P_4 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 && -1+x20_1==arg1P_6 && arg2==arg2P_6 ], cost: 1 6: f763_0_HeapSort_GE -> f763_0_HeapSort_GE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, [ arg10 && 1+arg1==arg1P_7 ], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [ arg10 && arg2==arg2P_11 ], cost: 1 8: f809_0_HeapSort_LT -> f1437_0_HeapSort_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ arg1>-1 && arg1P_9>0 && x33_1>0 && arg1==arg2P_9 ], cost: 1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 && -1+arg20 && 0==arg1P_18 && 1==arg3P_18 ], cost: 1 7: f1288_0_Supprimer_Return -> f1437_0_HeapSort_ArrayAccess : arg1'=arg1P_8, arg2'=arg2P_8, arg3'=arg3P_8, arg4'=arg4P_8, arg5'=arg5P_8, [ arg1P_8>0 && arg1==arg2P_8 && arg2==arg3P_8 ], cost: 1 9: f1437_0_HeapSort_ArrayAccess -> f809_0_HeapSort_LT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>0 && arg2 f1154_0_Ajouter_LE\' : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ -1+arg2>=x29_1 && arg2>0 && x44_1>x29_1 && -1+arg2>=x50_1 && x51_1<=arg1 && x44_1>x50_1 && -1+arg2>=x52_1 && arg2x52_1 && arg1==arg1P_12 && arg2==arg2P_12 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ -1+arg2>=x73_1 && arg2>0 && x78_1>arg1 && x83_1>0 && x84_1>x73_1 && arg1==arg1P_14 && arg2==arg2P_14 ], cost: 1 15: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, arg5'=arg5P_16, [ -1+arg2>=x130_1 && arg2>0 && x131_1>x130_1 && -1+arg2>=x132_1 && x133_1<=arg1 && x131_1>x132_1 && -1+arg2>=x134_1 && arg2<=x134_1 && x135_1>0 && arg2 f1154_0_Ajouter_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ -1+arg2>=x61_1 && arg2>0 && x66_1>x61_1 && -1+arg2>=x67_1 && x68_1<=arg1 && x66_1>x67_1 && -1+arg2>=arg2P_13 && arg2>arg2P_13 && arg2=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 && arg1==arg1P_13 ], cost: 1 14: f1154_0_Ajouter_LE\' -> f1441_0_Ajouter_ArrayAccess : arg1'=arg1P_15, arg2'=arg2P_15, arg3'=arg3P_15, arg4'=arg4P_15, arg5'=arg5P_15, [ -1+arg2>=x125_1 && arg2>0 && x126_1>arg1 && x127_1>x125_1 && arg1P_15>0 && -1+arg2-2*x125_1<2 && -1+arg2-2*x125_1>=0 && arg2==arg2P_15 && arg1==arg3P_15 ], cost: 1 16: f1154_0_Ajouter_LE\' -> f1441_0_Ajouter_ArrayAccess : arg1'=arg1P_17, arg2'=arg2P_17, arg3'=arg3P_17, arg4'=arg4P_17, arg5'=arg5P_17, [ -1+arg2>=x139_1 && arg2>0 && x140_1>x139_1 && -1+arg2>=x141_1 && x142_1<=arg1 && x140_1>x141_1 && -1+arg2>=x143_1 && arg2<=x143_1 && arg20 && -1+arg2-2*x139_1>=0 && -1+arg2-2*x139_1<2 && -1+arg2-2*x141_1>=0 && -1+arg2-2*x141_1<2 && -1+arg2-2*x143_1<2 && -1+arg2-2*x143_1>=0 && arg2==arg2P_17 && arg1==arg3P_17 ], cost: 1 18: f1783_0_Supprimer_GE -> f1792_0_Supprimer_ArrayAccess : arg1'=arg1P_19, arg2'=arg2P_19, arg3'=arg3P_19, arg4'=arg4P_19, arg5'=arg5P_19, [ arg3>=x79_1 && arg1P_19>0 && arg1==arg2P_19 && arg2==arg3P_19 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && x102_1>2+2*arg1 && x109_1<=x108_1 && arg3P_22>0 && x102_1>1+2*arg1 && arg1==arg1P_22 && arg2==arg2P_22 && 1+2*arg1==arg4P_22 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && x110_1>2+2*arg1 && x117_1>x116_1 && arg3P_23>0 && x110_1>1+2*arg1 && arg1==arg1P_23 && arg2==arg2P_23 && 2+2*arg1==arg4P_23 ], cost: 1 20: f1821_0_Supprimer_ArrayAccess -> f1792_0_Supprimer_ArrayAccess : arg1'=arg1P_21, arg2'=arg2P_21, arg3'=arg3P_21, arg4'=arg4P_21, arg5'=arg5P_21, [ arg2>=x101_1 && arg4=arg1P_21 && arg3>0 && arg1P_21>0 && arg1==arg2P_21 && arg2==arg3P_21 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, arg5'=arg5P_24, [ arg4arg2 && 2*arg4>=0 && arg10 && arg4==arg1P_24 && arg2==arg2P_24 && 1+2*arg4==arg3P_24 ], cost: 1 24: __init -> f1_0_main_Load : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, arg5'=arg5P_25, [], cost: 1 Checking for constant complexity: The following rule is satisfiable with cost >= 1, yielding constant complexity: 24: __init -> f1_0_main_Load : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, arg5'=arg5P_25, [], cost: 1 Removed unreachable and leaf rules: Start location: __init 0: f1_0_main_Load -> f229_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 && 0==arg2P_1 && 0==arg3P_1 ], cost: 1 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg3>=x3_1 && arg2-1 && arg1>0 && arg2==arg1P_2 && arg3==arg2P_2 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ x7_1>-1 && x7_1>arg2 && arg3-1 && arg3>-1 && arg1>0 && arg2==arg1P_3 && 1+arg3==arg2P_3 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg2>=x16_1 && arg3<=x16_1 && arg1>0 && 0==arg1P_5 && 0==arg2P_5 ], cost: 1 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, [ arg10 && 1+arg1==arg2P_4 && arg2==arg3P_4 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 && -1+x20_1==arg1P_6 && arg2==arg2P_6 ], cost: 1 6: f763_0_HeapSort_GE -> f763_0_HeapSort_GE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, [ arg10 && 1+arg1==arg1P_7 ], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [ arg10 && arg2==arg2P_11 ], cost: 1 8: f809_0_HeapSort_LT -> f1437_0_HeapSort_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ arg1>-1 && arg1P_9>0 && x33_1>0 && arg1==arg2P_9 ], cost: 1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 && -1+arg20 && 0==arg1P_18 && 1==arg3P_18 ], cost: 1 9: f1437_0_HeapSort_ArrayAccess -> f809_0_HeapSort_LT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>0 && arg2 f1154_0_Ajouter_LE\' : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ -1+arg2>=x29_1 && arg2>0 && x44_1>x29_1 && -1+arg2>=x50_1 && x51_1<=arg1 && x44_1>x50_1 && -1+arg2>=x52_1 && arg2x52_1 && arg1==arg1P_12 && arg2==arg2P_12 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ -1+arg2>=x73_1 && arg2>0 && x78_1>arg1 && x83_1>0 && x84_1>x73_1 && arg1==arg1P_14 && arg2==arg2P_14 ], cost: 1 15: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg1'=arg1P_16, arg2'=arg2P_16, arg3'=arg3P_16, arg4'=arg4P_16, arg5'=arg5P_16, [ -1+arg2>=x130_1 && arg2>0 && x131_1>x130_1 && -1+arg2>=x132_1 && x133_1<=arg1 && x131_1>x132_1 && -1+arg2>=x134_1 && arg2<=x134_1 && x135_1>0 && arg2 f1154_0_Ajouter_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ -1+arg2>=x61_1 && arg2>0 && x66_1>x61_1 && -1+arg2>=x67_1 && x68_1<=arg1 && x66_1>x67_1 && -1+arg2>=arg2P_13 && arg2>arg2P_13 && arg2=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 && arg1==arg1P_13 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && x102_1>2+2*arg1 && x109_1<=x108_1 && arg3P_22>0 && x102_1>1+2*arg1 && arg1==arg1P_22 && arg2==arg2P_22 && 1+2*arg1==arg4P_22 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && x110_1>2+2*arg1 && x117_1>x116_1 && arg3P_23>0 && x110_1>1+2*arg1 && arg1==arg1P_23 && arg2==arg2P_23 && 2+2*arg1==arg4P_23 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, arg5'=arg5P_24, [ arg4arg2 && 2*arg4>=0 && arg10 && arg4==arg1P_24 && arg2==arg2P_24 && 1+2*arg4==arg3P_24 ], cost: 1 24: __init -> f1_0_main_Load : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, arg5'=arg5P_25, [], cost: 1 Removed rules with unsatisfiable guard: Start location: __init 0: f1_0_main_Load -> f229_0_main_GE : arg1'=arg1P_1, arg2'=arg2P_1, arg3'=arg3P_1, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 && 0==arg2P_1 && 0==arg3P_1 ], cost: 1 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg1P_2, arg2'=arg2P_2, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg3>=x3_1 && arg2-1 && arg1>0 && arg2==arg1P_2 && arg3==arg2P_2 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg1P_3, arg2'=arg2P_3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ x7_1>-1 && x7_1>arg2 && arg3-1 && arg3>-1 && arg1>0 && arg2==arg1P_3 && 1+arg3==arg2P_3 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=arg1P_5, arg2'=arg2P_5, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg2>=x16_1 && arg3<=x16_1 && arg1>0 && 0==arg1P_5 && 0==arg2P_5 ], cost: 1 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=arg2P_4, arg3'=arg3P_4, arg4'=arg4P_4, arg5'=arg5P_4, [ arg10 && 1+arg1==arg2P_4 && arg2==arg3P_4 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=arg1P_6, arg2'=arg2P_6, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 && -1+x20_1==arg1P_6 && arg2==arg2P_6 ], cost: 1 6: f763_0_HeapSort_GE -> f763_0_HeapSort_GE : arg1'=arg1P_7, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, [ arg10 && 1+arg1==arg1P_7 ], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg2'=arg2P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [ arg10 && arg2==arg2P_11 ], cost: 1 8: f809_0_HeapSort_LT -> f1437_0_HeapSort_ArrayAccess : arg1'=arg1P_9, arg2'=arg2P_9, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ arg1>-1 && arg1P_9>0 && x33_1>0 && arg1==arg2P_9 ], cost: 1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=arg1P_18, arg2'=arg2P_18, arg3'=arg3P_18, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 && -1+arg20 && 0==arg1P_18 && 1==arg3P_18 ], cost: 1 9: f1437_0_HeapSort_ArrayAccess -> f809_0_HeapSort_LT : arg1'=arg1P_10, arg2'=arg2P_10, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>0 && arg2 f1154_0_Ajouter_LE\' : arg1'=arg1P_12, arg2'=arg2P_12, arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ -1+arg2>=x29_1 && arg2>0 && x44_1>x29_1 && -1+arg2>=x50_1 && x51_1<=arg1 && x44_1>x50_1 && -1+arg2>=x52_1 && arg2x52_1 && arg1==arg1P_12 && arg2==arg2P_12 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg1'=arg1P_14, arg2'=arg2P_14, arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ -1+arg2>=x73_1 && arg2>0 && x78_1>arg1 && x83_1>0 && x84_1>x73_1 && arg1==arg1P_14 && arg2==arg2P_14 ], cost: 1 12: f1154_0_Ajouter_LE\' -> f1154_0_Ajouter_LE : arg1'=arg1P_13, arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ -1+arg2>=x61_1 && arg2>0 && x66_1>x61_1 && -1+arg2>=x67_1 && x68_1<=arg1 && x66_1>x67_1 && -1+arg2>=arg2P_13 && arg2>arg2P_13 && arg2=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 && arg1==arg1P_13 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_20, arg2'=arg2P_20, arg3'=arg3P_20, arg4'=arg4P_20, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_22, arg2'=arg2P_22, arg3'=arg3P_22, arg4'=arg4P_22, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && x102_1>2+2*arg1 && x109_1<=x108_1 && arg3P_22>0 && x102_1>1+2*arg1 && arg1==arg1P_22 && arg2==arg2P_22 && 1+2*arg1==arg4P_22 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg1'=arg1P_23, arg2'=arg2P_23, arg3'=arg3P_23, arg4'=arg4P_23, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && x110_1>2+2*arg1 && x117_1>x116_1 && arg3P_23>0 && x110_1>1+2*arg1 && arg1==arg1P_23 && arg2==arg2P_23 && 2+2*arg1==arg4P_23 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg1P_24, arg2'=arg2P_24, arg3'=arg3P_24, arg4'=arg4P_24, arg5'=arg5P_24, [ arg4arg2 && 2*arg4>=0 && arg10 && arg4==arg1P_24 && arg2==arg2P_24 && 1+2*arg4==arg3P_24 ], cost: 1 24: __init -> f1_0_main_Load : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, arg5'=arg5P_25, [], cost: 1 Simplified all rules, resulting in: Start location: __init 0: f1_0_main_Load -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=arg3, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=1+arg3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ arg3>-1 && arg1>0 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=0, arg2'=0, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg1>0 && arg3<=arg2 ], cost: 1 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg1, arg3'=arg2, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1P_4>0 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 ], cost: 1 6: f763_0_HeapSort_GE -> f763_0_HeapSort_GE : arg1'=1+arg1, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, [], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 8: f809_0_HeapSort_LT -> f1437_0_HeapSort_ArrayAccess : arg1'=arg1P_9, arg2'=arg1, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ arg1>-1 && arg1P_9>0 ], cost: 1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 9: f1437_0_HeapSort_ArrayAccess -> f809_0_HeapSort_LT : arg1'=-1+arg2, arg2'=arg3, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>0 ], cost: 1 11: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ arg2>0 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ arg2>0 ], cost: 1 12: f1154_0_Ajouter_LE\' -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_20, arg4'=1+2*arg1, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_22, arg4'=1+2*arg1, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && arg3P_22>0 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_23, arg4'=2+2*arg1, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && arg3P_23>0 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg4, arg3'=1+2*arg4, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg4>=0 && arg3>0 ], cost: 1 24: __init -> f1_0_main_Load : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, arg5'=arg5P_25, [], cost: 1 ### Simplification by acceleration and chaining ### Accelerating simple loops of location 3. Accelerating the following rules: 6: f763_0_HeapSort_GE -> f763_0_HeapSort_GE : arg1'=1+arg1, arg2'=arg2P_7, arg3'=arg3P_7, arg4'=arg4P_7, arg5'=arg5P_7, [], cost: 1 Accelerated rule 6 with non-termination, yielding the new rule 25. [accelerate] Nesting with 0 inner and 0 outer candidates Removing the simple loops: 6. Accelerated all simple loops using metering functions (where possible): Start location: __init 0: f1_0_main_Load -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=arg3, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=1+arg3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ arg3>-1 && arg1>0 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=0, arg2'=0, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg1>0 && arg3<=arg2 ], cost: 1 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg1, arg3'=arg2, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1P_4>0 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 ], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 25: f763_0_HeapSort_GE -> [14] : [], cost: NONTERM 8: f809_0_HeapSort_LT -> f1437_0_HeapSort_ArrayAccess : arg1'=arg1P_9, arg2'=arg1, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ arg1>-1 && arg1P_9>0 ], cost: 1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 9: f1437_0_HeapSort_ArrayAccess -> f809_0_HeapSort_LT : arg1'=-1+arg2, arg2'=arg3, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>0 ], cost: 1 11: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ arg2>0 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ arg2>0 ], cost: 1 12: f1154_0_Ajouter_LE\' -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_20, arg4'=1+2*arg1, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_22, arg4'=1+2*arg1, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && arg3P_22>0 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_23, arg4'=2+2*arg1, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && arg3P_23>0 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg4, arg3'=1+2*arg4, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg4>=0 && arg3>0 ], cost: 1 24: __init -> f1_0_main_Load : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, arg5'=arg5P_25, [], cost: 1 Chained accelerated rules (with incoming rules): Start location: __init 0: f1_0_main_Load -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1 && arg2>-1 && arg1>0 && arg1P_1>0 ], cost: 1 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=arg3, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=1+arg3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ arg3>-1 && arg1>0 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=0, arg2'=0, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg1>0 && arg3<=arg2 ], cost: 1 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg1, arg3'=arg2, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1P_4>0 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 ], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 8: f809_0_HeapSort_LT -> f1437_0_HeapSort_ArrayAccess : arg1'=arg1P_9, arg2'=arg1, arg3'=arg3P_9, arg4'=arg4P_9, arg5'=arg5P_9, [ arg1>-1 && arg1P_9>0 ], cost: 1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 9: f1437_0_HeapSort_ArrayAccess -> f809_0_HeapSort_LT : arg1'=-1+arg2, arg2'=arg3, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>0 ], cost: 1 11: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ arg2>0 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ arg2>0 ], cost: 1 12: f1154_0_Ajouter_LE\' -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_20, arg4'=1+2*arg1, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_22, arg4'=1+2*arg1, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && arg3P_22>0 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_23, arg4'=2+2*arg1, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && arg3P_23>0 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg4, arg3'=1+2*arg4, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg4>=0 && arg3>0 ], cost: 1 24: __init -> f1_0_main_Load : arg1'=arg1P_25, arg2'=arg2P_25, arg3'=arg3P_25, arg4'=arg4P_25, arg5'=arg5P_25, [], cost: 1 Eliminated locations (on linear paths): Start location: __init 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=arg3, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=1+arg3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ arg3>-1 && arg1>0 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=0, arg2'=0, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg1>0 && arg3<=arg2 ], cost: 1 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg1, arg3'=arg2, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1P_4>0 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 ], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 28: f809_0_HeapSort_LT -> f809_0_HeapSort_LT : arg1'=-1+arg1, arg2'=arg3P_9, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>-1 && arg1P_9>0 ], cost: 2 11: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ arg2>0 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ arg2>0 ], cost: 1 12: f1154_0_Ajouter_LE\' -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_20, arg4'=1+2*arg1, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_22, arg4'=1+2*arg1, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && arg3P_22>0 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_23, arg4'=2+2*arg1, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && arg3P_23>0 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg4, arg3'=1+2*arg4, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg4>=0 && arg3>0 ], cost: 1 27: __init -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: 2 Accelerating simple loops of location 4. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 28: f809_0_HeapSort_LT -> f809_0_HeapSort_LT : arg1'=-1+arg1, arg2'=arg3P_9, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>-1 ], cost: 2 Accelerated rule 28 with backward acceleration, yielding the new rule 29. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 28. Accelerated all simple loops using metering functions (where possible): Start location: __init 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=arg3, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=1+arg3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ arg3>-1 && arg1>0 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=0, arg2'=0, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg1>0 && arg3<=arg2 ], cost: 1 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg1, arg3'=arg2, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1P_4>0 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 ], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 29: f809_0_HeapSort_LT -> f809_0_HeapSort_LT : arg1'=-1, arg2'=arg3P_9, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ 1+arg1>=1 ], cost: 2+2*arg1 11: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ arg2>0 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ arg2>0 ], cost: 1 12: f1154_0_Ajouter_LE\' -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_20, arg4'=1+2*arg1, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_22, arg4'=1+2*arg1, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && arg3P_22>0 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_23, arg4'=2+2*arg1, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && arg3P_23>0 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg4, arg3'=1+2*arg4, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg4>=0 && arg3>0 ], cost: 1 27: __init -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: __init 1: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=arg3, arg3'=arg3P_2, arg4'=arg4P_2, arg5'=arg5P_2, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 ], cost: 1 2: f229_0_main_GE -> f357_0_main_ArrayAccess : arg1'=arg2, arg2'=1+arg3, arg3'=arg3P_3, arg4'=arg4P_3, arg5'=arg5P_3, [ arg3>-1 && arg1>0 ], cost: 1 4: f229_0_main_GE -> f763_0_HeapSort_GE : arg1'=0, arg2'=0, arg3'=arg3P_5, arg4'=arg4P_5, arg5'=arg5P_5, [ arg1>0 && arg3<=arg2 ], cost: 1 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 3: f357_0_main_ArrayAccess -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg1, arg3'=arg2, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1P_4>0 ], cost: 1 5: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>=x20_1 ], cost: 1 10: f763_0_HeapSort_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [], cost: 1 30: f763_0_HeapSort_GE -> f809_0_HeapSort_LT : arg1'=-1, arg2'=arg3P_9, arg3'=arg3P_10, arg4'=arg4P_10, arg5'=arg5P_10, [ arg1>=x20_1 && x20_1>=1 ], cost: 1+2*x20_1 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 11: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_12, arg4'=arg4P_12, arg5'=arg5P_12, [ arg2>0 ], cost: 1 13: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE\' : arg3'=arg3P_14, arg4'=arg4P_14, arg5'=arg5P_14, [ arg2>0 ], cost: 1 12: f1154_0_Ajouter_LE\' -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 1 19: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_20, arg4'=1+2*arg1, arg5'=arg5P_20, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3 f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_22, arg4'=1+2*arg1, arg5'=arg5P_22, [ arg3=0 && arg5P_22>2+2*arg1 && arg3P_22>0 ], cost: 1 22: f1783_0_Supprimer_GE -> f1821_0_Supprimer_ArrayAccess : arg3'=arg3P_23, arg4'=2+2*arg1, arg5'=arg5P_23, [ arg3=0 && arg5P_23>2+2*arg1 && arg3P_23>0 ], cost: 1 23: f1821_0_Supprimer_ArrayAccess -> f1783_0_Supprimer_GE : arg1'=arg4, arg3'=1+2*arg4, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg4>=0 && arg3>0 ], cost: 1 27: __init -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: 2 Eliminated locations (on tree-shaped paths): Start location: __init 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 31: f229_0_main_GE -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg2, arg3'=arg3, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 && arg1P_4>0 ], cost: 2 32: f229_0_main_GE -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg2, arg3'=1+arg3, arg4'=arg4P_4, arg5'=arg5P_4, [ arg3>-1 && arg1>0 && arg1P_4>0 ], cost: 2 33: f229_0_main_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg2'=0, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>0 && arg3<=arg2 && 0>=x20_1 ], cost: 2 34: f229_0_main_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg2'=0, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [ arg1>0 && arg3<=arg2 ], cost: 2 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 38: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 2 39: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 2 35: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=1+2*arg1, arg3'=3+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3=0 ], cost: 2 36: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=1+2*arg1, arg3'=3+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ arg3=0 && arg5P_22>2+2*arg1 && arg3P_22>0 && 2+4*arg1>=0 ], cost: 2 37: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=2+2*arg1, arg3'=5+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ arg3=0 && arg5P_23>2+2*arg1 && arg3P_23>0 && 4+4*arg1>=0 ], cost: 2 27: __init -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: 2 Merged rules: Start location: __init 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 31: f229_0_main_GE -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg2, arg3'=arg3, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 && arg1P_4>0 ], cost: 2 32: f229_0_main_GE -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg2, arg3'=1+arg3, arg4'=arg4P_4, arg5'=arg5P_4, [ arg3>-1 && arg1>0 && arg1P_4>0 ], cost: 2 33: f229_0_main_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg2'=0, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>0 && arg3<=arg2 && 0>=x20_1 ], cost: 2 34: f229_0_main_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg2'=0, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [ arg1>0 && arg3<=arg2 ], cost: 2 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 40: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 2 35: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=1+2*arg1, arg3'=3+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ arg5P_20<=2+2*arg1 && 2*arg1>=0 && arg3P_20>0 && arg3=0 ], cost: 2 36: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=1+2*arg1, arg3'=3+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ arg3=0 && arg5P_22>2+2*arg1 && arg3P_22>0 && 2+4*arg1>=0 ], cost: 2 37: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=2+2*arg1, arg3'=5+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ arg3=0 && arg5P_23>2+2*arg1 && arg3P_23>0 && 4+4*arg1>=0 ], cost: 2 27: __init -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: 2 Accelerating simple loops of location 1. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 31: f229_0_main_GE -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg2, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1>0 && 1+arg2<=arg3 && 0<=arg3 && arg1P_4>0 ], cost: 2 32: f229_0_main_GE -> f229_0_main_GE : arg1'=arg1P_4, arg2'=1+arg2, arg3'=1+arg3, arg4'=arg4P_4, arg5'=arg5P_4, [ arg3>-1 && arg1>0 && arg1P_4>0 ], cost: 2 Accelerated rule 31 with backward acceleration, yielding the new rule 41. Accelerated rule 32 with non-termination, yielding the new rule 42. [accelerate] Nesting with 1 inner and 1 outer candidates Removing the simple loops: 31 32. Accelerating simple loops of location 7. Accelerating the following rules: 40: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 2 Failed to prove monotonicity of the guard of rule 40. [accelerate] Nesting with 1 inner and 1 outer candidates Accelerating simple loops of location 10. Simplified some of the simple loops (and removed duplicate rules). Accelerating the following rules: 35: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=1+2*arg1, arg3'=3+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg1>=0 && 2+4*arg1>=0 && 1+arg3<=2+2*arg1 ], cost: 2 36: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=1+2*arg1, arg3'=3+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg1>=0 && 2+4*arg1>=0 ], cost: 2 37: f1783_0_Supprimer_GE -> f1783_0_Supprimer_GE : arg1'=2+2*arg1, arg3'=5+4*arg1, arg4'=arg4P_24, arg5'=arg5P_24, [ 2*arg1>=0 && 4+4*arg1>=0 ], cost: 2 Accelerated rule 35 with non-termination, yielding the new rule 43. Accelerated rule 36 with non-termination, yielding the new rule 44. Accelerated rule 37 with non-termination, yielding the new rule 45. [accelerate] Nesting with 0 inner and 0 outer candidates Removing the simple loops: 35 36 37. Accelerated all simple loops using metering functions (where possible): Start location: __init 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 33: f229_0_main_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg2'=0, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>0 && arg3<=arg2 && 0>=x20_1 ], cost: 2 34: f229_0_main_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg2'=0, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [ arg1>0 && arg3<=arg2 ], cost: 2 41: f229_0_main_GE -> f229_0_main_GE : arg1'=arg1P_4, arg2'=arg3, arg4'=arg4P_4, arg5'=arg5P_4, [ arg1>0 && 0<=arg3 && arg1P_4>0 && -arg2+arg3>=1 ], cost: -2*arg2+2*arg3 42: f229_0_main_GE -> [16] : [ arg3>-1 && arg1>0 && arg1P_4>0 ], cost: NONTERM 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 40: f1154_0_Ajouter_LE -> f1154_0_Ajouter_LE : arg2'=arg2P_13, arg3'=arg3P_13, arg4'=arg4P_13, arg5'=arg5P_13, [ arg2>0 && -1+arg2>=arg2P_13 && -1+arg2-2*x61_1>=0 && -1+arg2-2*x61_1<2 && -1-2*x67_1+arg2>=0 && -1-2*x67_1+arg2<2 && -1+arg2-2*arg2P_13<2 && -1+arg2-2*arg2P_13>=0 ], cost: 2 43: f1783_0_Supprimer_GE -> [18] : [ 2*arg1>=0 && 2+4*arg1>=0 && 1+arg3<=2+2*arg1 ], cost: NONTERM 44: f1783_0_Supprimer_GE -> [18] : [ 2*arg1>=0 && 2+4*arg1>=0 ], cost: NONTERM 45: f1783_0_Supprimer_GE -> [18] : [ 2*arg1>=0 && 4+4*arg1>=0 ], cost: NONTERM 27: __init -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: 2 Chained accelerated rules (with incoming rules): Start location: __init 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 33: f229_0_main_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg2'=0, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>0 && arg3<=arg2 && 0>=x20_1 ], cost: 2 34: f229_0_main_GE -> f1154_0_Ajouter_LE : arg1'=arg1P_11, arg2'=0, arg3'=arg3P_11, arg4'=arg4P_11, arg5'=arg5P_11, [ arg1>0 && arg3<=arg2 ], cost: 2 17: f809_0_HeapSort_LT -> f1783_0_Supprimer_GE : arg1'=0, arg2'=arg2P_18, arg3'=1, arg4'=arg4P_18, arg5'=arg5P_18, [ arg1>-1 ], cost: 1 47: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 48: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 49: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 27: __init -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: 2 46: __init -> [16] : [], cost: NONTERM Removed unreachable locations (and leaf rules with constant cost): Start location: __init 26: f229_0_main_GE -> [14] : [ arg1>0 && arg3<=arg2 ], cost: NONTERM 33: f229_0_main_GE -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg2'=0, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1>0 && arg3<=arg2 && 0>=x20_1 ], cost: 2 47: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 48: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 49: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 27: __init -> f229_0_main_GE : arg1'=arg1P_1, arg2'=0, arg3'=0, arg4'=arg4P_1, arg5'=arg5P_1, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: 2 46: __init -> [16] : [], cost: NONTERM Eliminated locations (on tree-shaped paths): Start location: __init 47: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 48: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 49: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 46: __init -> [16] : [], cost: NONTERM 50: __init -> [14] : [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: NONTERM 51: __init -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg2'=0, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 && 0>=x20_1 ], cost: 4 Merged rules: Start location: __init 53: f809_0_HeapSort_LT -> [18] : [ arg1>-1 ], cost: NONTERM 46: __init -> [16] : [], cost: NONTERM 50: __init -> [14] : [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: NONTERM 51: __init -> f809_0_HeapSort_LT : arg1'=-1+x20_1, arg2'=0, arg3'=arg3P_6, arg4'=arg4P_6, arg5'=arg5P_6, [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 && 0>=x20_1 ], cost: 4 Eliminated locations (on linear paths): Start location: __init 46: __init -> [16] : [], cost: NONTERM 50: __init -> [14] : [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: NONTERM Removed unreachable locations (and leaf rules with constant cost): Start location: __init 46: __init -> [16] : [], cost: NONTERM 50: __init -> [14] : [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: NONTERM ### Computing asymptotic complexity ### Fully simplified ITS problem Start location: __init 46: __init -> [16] : [], cost: NONTERM 50: __init -> [14] : [ arg1P_1<=arg1P_25 && arg2P_25>-1 && arg1P_25>0 && arg1P_1>0 ], cost: NONTERM Computing asymptotic complexity for rule 46 Guard is satisfiable, yielding nontermination Resulting cost NONTERM has complexity: Nonterm Found new complexity Nonterm. Obtained the following overall complexity (w.r.t. the length of the input n): Complexity: Nonterm Cpx degree: Nonterm Solved cost: NONTERM Rule cost: NONTERM Rule guard: [] NO