^=== analyzing loop ===
    
    Analyzing loop at presentation-inlined.c:13
    === analyze_loop_nest ===
      === vect_analyze_loop_form ===
        === get_loop_niters ===
      Symbolic number of iterations is 
(unsigned int) n_8(D)
      === vect_analyze_data_refs ===
        got vectype for stmt: 
_4 = *_3;vector(4) int
      === vect_analyze_scalar_cycles ===
        Analyze phi: 
i_17 = PHI <0(5), i_10(6)>
        Access function of PHI: 
{0, +, 1}_1
        step: 
1,  init: 
0
        Detected induction.
        Analyze phi: 
sum_20 = PHI <0(5), _12(6)>
        Access function of PHI: 
{0, +, _4}_1
        step: 
_4,  init: 
0
        step unknown.
        Analyze phi: 
sum_20 = PHI <0(5), _12(6)>
        detected reduction: 
_12 = _4 + sum_20;
        Detected reduction.
      === vect_pattern_recog ===
        vect_is_simple_use: operand 
_1
        def_stmt: 
_1 = (long unsigned int) i_17;
        type of def: internal
        vect_is_simple_use: operand 
i_17
        def_stmt: 
i_17 = PHI <0(5), i_10(6)>
        type of def: induction
        vect_is_simple_use: operand 
4
        vect_is_simple_use: operand 
_4
        def_stmt: 
_4 = *_3;
        type of def: internal
        vect_is_simple_use: operand 
_4
        def_stmt: 
_4 = *_3;
        type of def: internal
        vect_is_simple_use: operand 
_4
        def_stmt: 
_4 = *_3;
        type of def: internal
      === vect_analyze_data_ref_accesses ===
      === vect_mark_stmts_to_be_vectorized ===
        init: phi relevant? 
i_17 = PHI <0(5), i_10(6)>
        init: phi relevant? 
sum_20 = PHI <0(5), _12(6)>
        init: stmt relevant? 
# DEBUG sum => sum_20
        init: stmt relevant? 
# DEBUG i => i_17
        init: stmt relevant? 
# DEBUG BEGIN_STMT
        init: stmt relevant? 
_1 = (long unsigned int) i_17;
        init: stmt relevant? 
_2 = _1 * 4;
        init: stmt relevant? 
_3 = arr_9(D) + _2;
        init: stmt relevant? 
_4 = *_3;
        init: stmt relevant? 
# DEBUG x => _4
        init: stmt relevant? 
# DEBUG a => &sum
        init: stmt relevant? 
# DEBUG BEGIN_STMT
        init: stmt relevant? 
_12 = _4 + sum_20;
        vec_stmt_relevant_p: used out of loop.
        vect_is_simple_use: operand 
_4
        def_stmt: 
_4 = *_3;
        type of def: internal
        vec_stmt_relevant_p: stmt live but not relevant.
        mark relevant 1, live 1: 
_12 = _4 + sum_20;
        init: stmt relevant? 
# DEBUG sum => _12
        init: stmt relevant? 
# DEBUG x => NULL
        init: stmt relevant? 
# DEBUG a => NULL
        init: stmt relevant? 
i_10 = i_17 + 1;
        init: stmt relevant? 
# DEBUG i => i_10
        init: stmt relevant? 
# DEBUG sum => _12
        init: stmt relevant? 
# DEBUG i => i_10
        init: stmt relevant? 
if (n_8(D) > i_10)
        worklist: examine stmt: 
_12 = _4 + sum_20;
        vect_is_simple_use: operand 
_4
        def_stmt: 
_4 = *_3;
        type of def: internal
        mark relevant 1, live 0: 
_4 = *_3;
        vect_is_simple_use: operand 
sum_20
        def_stmt: 
sum_20 = PHI <0(5), _12(6)>
        type of def: reduction
        mark relevant 1, live 0: 
sum_20 = PHI <0(5), _12(6)>
        worklist: examine stmt: 
sum_20 = PHI <0(5), _12(6)>
        vect_is_simple_use: operand 
0
        vect_is_simple_use: operand 
_12
        def_stmt: 
_12 = _4 + sum_20;
        type of def: reduction
        reduc-stmt defining reduc-phi in the same nest.
        worklist: examine stmt: 
_4 = *_3;
      === vect_analyze_data_ref_dependences ===
      === vect_determine_vectorization_factor ===
        ==> examining phi: 
i_17 = PHI <0(5), i_10(6)>
        ==> examining phi: 
sum_20 = PHI <0(5), _12(6)>
        get vectype for scalar type:  
int
        vectype: 
vector(4) int
        nunits = 4
        ==> examining statement: 
# DEBUG sum => sum_20
        skip.
        ==> examining statement: 
# DEBUG i => i_17
        skip.
        ==> examining statement: 
# DEBUG BEGIN_STMT
        skip.
        ==> examining statement: 
_1 = (long unsigned int) i_17;
        skip.
        ==> examining statement: 
_2 = _1 * 4;
        skip.
        ==> examining statement: 
_3 = arr_9(D) + _2;
        skip.
        ==> examining statement: 
_4 = *_3;
        get vectype for scalar type:  
int
        vectype: 
vector(4) int
        nunits = 4
        ==> examining statement: 
# DEBUG x => _4
        skip.
        ==> examining statement: 
# DEBUG a => &sum
        skip.
        ==> examining statement: 
# DEBUG BEGIN_STMT
        skip.
        ==> examining statement: 
_12 = _4 + sum_20;
        get vectype for scalar type:  
int
        vectype: 
vector(4) int
        get vectype for scalar type:  
int
        vectype: 
vector(4) int
        nunits = 4
        ==> examining statement: 
# DEBUG sum => _12
        skip.
        ==> examining statement: 
# DEBUG x => NULL
        skip.
        ==> examining statement: 
# DEBUG a => NULL
        skip.
        ==> examining statement: 
i_10 = i_17 + 1;
        skip.
        ==> examining statement: 
# DEBUG i => i_10
        skip.
        ==> examining statement: 
# DEBUG sum => _12
        skip.
        ==> examining statement: 
# DEBUG i => i_10
        skip.
        ==> examining statement: 
if (n_8(D) > i_10)
        skip.
        vectorization factor = 4
      === vect_analyze_slp ===
      === vect_make_slp_decision ===
      === vect_analyze_data_refs_alignment ===
        recording new base alignment for 
arr_9(D)
          alignment:    4
          misalignment: 0
          based on:     
_4 = *_3;
        vect_compute_data_ref_alignment:
        can't force alignment of ref: 
*_3
      === vect_prune_runtime_alias_test_list ===
      === vect_enhance_data_refs_alignment ===
        Unknown misalignment, naturally aligned
        vect_can_advance_ivs_p:
        Analyze phi: 
i_17 = PHI <0(5), i_10(6)>
        Analyze phi: 
sum_20 = PHI <0(5), _12(6)>
        reduc or virtual phi. skip.
        vect_model_load_cost: aligned.
        vect_get_data_access_cost: inside_cost = 12, outside_cost = 0.
        cost model: epilogue peel iters set to vf/2 because loop iterations are unknown .
        vect_model_load_cost: unaligned supported by hardware.
        vect_get_data_access_cost: inside_cost = 12, outside_cost = 0.
        cost model: epilogue peel iters set to vf/2 because loop iterations are unknown .
        Vectorizing an unaligned access.
      === vect_analyze_loop_operations ===
        examining phi: 
i_17 = PHI <0(5), i_10(6)>
        examining phi: 
sum_20 = PHI <0(5), _12(6)>
        ==> examining statement: 
# DEBUG sum => sum_20
        irrelevant.
        ==> examining statement: 
# DEBUG i => i_17
        irrelevant.
        ==> examining statement: 
# DEBUG BEGIN_STMT
        irrelevant.
        ==> examining statement: 
_1 = (long unsigned int) i_17;
        irrelevant.
        ==> examining statement: 
_2 = _1 * 4;
        irrelevant.
        ==> examining statement: 
_3 = arr_9(D) + _2;
        irrelevant.
        ==> examining statement: 
_4 = *_3;
        vect_is_simple_use: operand 
*_3
        not ssa-name.
        use not simple.
        vect_is_simple_use: operand 
*_3
        not ssa-name.
        use not simple.
        can't use a fully-masked loop because the target doesn't have the appropriate masked load or store.
        vect_model_load_cost: unaligned supported by hardware.
        vect_model_load_cost: inside_cost = 12, prologue_cost = 0 .
        ==> examining statement: 
# DEBUG x => _4
        irrelevant.
        ==> examining statement: 
# DEBUG a => &sum
        irrelevant.
        ==> examining statement: 
# DEBUG BEGIN_STMT
        irrelevant.
        ==> examining statement: 
_12 = _4 + sum_20;
        vect_is_simple_use: operand 
_4
        def_stmt: 
_4 = *_3;
        type of def: internal
        vect_is_simple_use: operand 
sum_20
        def_stmt: 
sum_20 = PHI <0(5), _12(6)>
        type of def: reduction
        reduc op not supported by target.
        vect_model_reduction_cost: inside_cost = 4, prologue_cost = 4, epilogue_cost = 20 .
        ==> examining statement: 
# DEBUG sum => _12
        irrelevant.
        ==> examining statement: 
# DEBUG x => NULL
        irrelevant.
        ==> examining statement: 
# DEBUG a => NULL
        irrelevant.
        ==> examining statement: 
i_10 = i_17 + 1;
        irrelevant.
        ==> examining statement: 
# DEBUG i => i_10
        irrelevant.
        ==> examining statement: 
# DEBUG sum => _12
        irrelevant.
        ==> examining statement: 
# DEBUG i => i_10
        irrelevant.
        ==> examining statement: 
if (n_8(D) > i_10)
        irrelevant.
      not using a fully-masked loop.
      cost model: epilogue peel iters set to vf/2 because loop iterations are unknown .
      Cost model analysis: 
        Vector inside of loop cost: 16
        Vector prologue cost: 36
        Vector epilogue cost: 52
        Scalar iteration cost: 16
        Scalar outside cost: 32
        Vector outside cost: 88
        prologue iterations: 0
        epilogue iterations: 2
        Calculated minimum iters for profitability: 5
        Runtime profitability threshold = 5
        Static estimate profitability threshold = 9
      epilog loop required
      vect_can_advance_ivs_p:
      Analyze phi: 
i_17 = PHI <0(5), i_10(6)>
      Analyze phi: 
sum_20 = PHI <0(5), _12(6)>
      reduc or virtual phi. skip.
    loop vectorized
    === vec_transform_loop ===
      Profitability threshold is 5 loop iterations.
      vect_can_advance_ivs_p:
      Analyze phi: 
i_17 = PHI <i_10(6), 0(9)>
      Analyze phi: 
sum_20 = PHI <_12(6), 0(9)>
      reduc or virtual phi. skip.
      vect_update_ivs_after_vectorizer: phi: 
i_17 = PHI <i_10(6), 0(9)>
      vect_update_ivs_after_vectorizer: phi: 
sum_20 = PHI <_12(6), 0(9)>
      reduc or virtual phi. skip.
      ------>vectorizing phi: 
i_17 = PHI <i_10(6), 0(16)>
      ------>vectorizing phi: 
sum_20 = PHI <_12(6), 0(16)>
      transform phi.
      ------>vectorizing phi: 
vect__12.4_33 = PHI <(6), (16)>
      ------>vectorizing statement: 
# DEBUG sum => sum_20
      ------>vectorizing statement: 
# DEBUG i => i_17
      ------>vectorizing statement: 
# DEBUG BEGIN_STMT
      ------>vectorizing statement: 
_1 = (long unsigned int) i_17;
      ------>vectorizing statement: 
_2 = _1 * 4;
      ------>vectorizing statement: 
_3 = arr_9(D) + _2;
      ------>vectorizing statement: 
_4 = *_3;
      transform statement.
      transform load. ncopies = 1
      create vector_type-pointer variable to type: 
vector(4) int  vectorizing a pointer ref: 
*arr_9(D)
      created 
arr_9(D)
      add new stmt: 
vect__4.7_36 = MEM[(int *)vectp_arr.5_34];
      ------>vectorizing statement: 
# DEBUG x => _4
      ------>vectorizing statement: 
# DEBUG a => &sum
      ------>vectorizing statement: 
# DEBUG BEGIN_STMT
      ------>vectorizing statement: 
_12 = _4 + sum_20;
      transform statement.
      vect_is_simple_use: operand 
_4
      def_stmt: 
_4 = *_3;
      type of def: internal
      vect_is_simple_use: operand 
sum_20
      def_stmt: 
sum_20 = PHI <_12(6), 0(16)>
      type of def: reduction
      reduc op not supported by target.
      transform reduction.
      vect_get_vec_def_for_operand: 
_4
      vect_is_simple_use: operand 
_4
      def_stmt: 
_4 = *_3;
      type of def: internal
        def_stmt =  
_4 = *_3;
      vect_get_vec_def_for_operand: 
sum_20
      vect_is_simple_use: operand 
sum_20
      def_stmt: 
sum_20 = PHI <_12(6), 0(16)>
      type of def: reduction
        def_stmt =  
sum_20 = PHI <_12(6), 0(16)>
      add new stmt: 
vect__12.8_37 = vect__4.7_36 + vect__12.4_33;
      vect_is_simple_use: operand 
0
      transform reduction: created def-use cycle: 
vect__12.4_33 = PHI <vect__12.8_37(6), { 0, 0, 0, 0 }(16)>vect__12.8_37 = vect__4.7_36 + vect__12.4_33;
      Reduce using vector shifts
      extract scalar result
      ------>vectorizing statement: 
# DEBUG sum => _12
      ------>vectorizing statement: 
# DEBUG x => NULL
      ------>vectorizing statement: 
# DEBUG a => NULL
      ------>vectorizing statement: 
i_10 = i_17 + 1;
      ------>vectorizing statement: 
# DEBUG i => i_10
      ------>vectorizing statement: 
# DEBUG sum => _12
      ------>vectorizing statement: 
# DEBUG i => i_10
      ------>vectorizing statement: 
vectp_arr.5_35 = vectp_arr.5_34 + 16;
      ------>vectorizing statement: 
if (n_8(D) > i_10)
      New loop exit condition: 
if (ivtmp_46 < bnd.1_29)
      LOOP VECTORIZED