# Global Metrics

path: .metrics.cyclomatic.sum
old: 5.0
new: 25.0
path: .metrics.cyclomatic.average
old: 1.0
new: 4.166666666666667
path: .metrics.loc.cloc
old: 13.0
new: 32.0
path: .metrics.loc.lloc
old: 1.0
new: 64.0
path: .metrics.loc.ploc
old: 45.0
new: 94.0
path: .metrics.loc.sloc
old: 73.0
new: 141.0
path: .metrics.mi.mi_visual_studio
old: 37.661012464229614
new: 24.954794968325864
path: .metrics.mi.mi_original
old: 64.40033131383264
new: 42.67269939583723
path: .metrics.mi.mi_sei
old: 48.12690766130864
new: 22.049741155866307
path: .metrics.halstead.N1
old: 107.0
new: 348.0
path: .metrics.halstead.level
old: 0.12832550860719874
new: 0.02406417112299465
path: .metrics.halstead.bugs
old: 0.1314217895731073
new: 0.9186636979414756
path: .metrics.halstead.n1
old: 9.0
new: 28.0
path: .metrics.halstead.vocabulary
old: 50.0
new: 91.0
path: .metrics.halstead.volume
old: 1004.6064017799008
new: 3481.6701325063027
path: .metrics.halstead.estimated_program_length
old: 248.18895720232223
new: 511.1745729981077
path: .metrics.halstead.difficulty
old: 7.7926829268292686
new: 41.55555555555556
path: .metrics.halstead.effort
old: 7828.579155333619
new: 144682.73661748413
path: .metrics.halstead.n2
old: 41.0
new: 63.0
path: .metrics.halstead.N2
old: 71.0
new: 187.0
path: .metrics.halstead.purity_ratio
old: 1.3943199842827092
new: 0.955466491585248
path: .metrics.halstead.time
old: 434.92106418520103
new: 8037.9298120824515
path: .metrics.halstead.length
old: 178.0
new: 535.0
path: .metrics.nargs.average
old: 2.0
new: 4.0
path: .metrics.nargs.sum
old: 4.0
new: 20.0
path: .metrics.nexits.sum
old: 0.0
new: 1.0
path: .metrics.nexits.average
old: 0.0
new: 0.2
path: .metrics.nom.total
old: 2.0
new: 5.0
path: .metrics.nom.functions
old: 2.0
new: 5.0
path: .metrics.cognitive.average
old: 0.0
new: 2.8
path: .metrics.cognitive.sum
old: 0.0
new: 14.0

# Spaces Data

## Minimal test - lines (37, 49)

path: .spaces[0].metrics.loc.ploc
old: 25.0
new: 13.0
path: .spaces[0].metrics.loc.cloc
old: 6.0
new: 0.0
path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 5.0
path: .spaces[0].metrics.loc.sloc
old: 39.0
new: 13.0
path: .spaces[0].metrics.loc.blank
old: 8.0
new: 0.0
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 4.0
path: .spaces[0].metrics.nargs.average
old: null
new: 4.0
path: .spaces[0].metrics.cyclomatic.average
old: 1.0
new: 2.0
path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.6576576576576576
new: 1.2415725109793336
path: .spaces[0].metrics.halstead.n2
old: 32.0
new: 5.0
path: .spaces[0].metrics.halstead.volume
old: 590.7340185324972
new: 179.8483650150149
path: .spaces[0].metrics.halstead.length
old: 111.0
new: 44.0
path: .spaces[0].metrics.halstead.difficulty
old: 5.0
new: 15.6
path: .spaces[0].metrics.halstead.effort
old: 2953.6700926624862
new: 2805.6344942342325
path: .spaces[0].metrics.halstead.bugs
old: 0.0686204248114361
new: 0.06630803227803952
path: .spaces[0].metrics.halstead.vocabulary
old: 40.0
new: 17.0
path: .spaces[0].metrics.halstead.N1
old: 71.0
new: 31.0
path: .spaces[0].metrics.halstead.n1
old: 8.0
new: 12.0
path: .spaces[0].metrics.halstead.N2
old: 40.0
new: 13.0
path: .spaces[0].metrics.halstead.estimated_program_length
old: 184.0
new: 54.62919048309068
path: .spaces[0].metrics.halstead.level
old: 0.2
new: 0.06410256410256411
path: .spaces[0].metrics.halstead.time
old: 164.09278292569368
new: 155.8685830130129
path: .spaces[0].metrics.nexits.average
old: null
new: 0.0
path: .spaces[0].metrics.mi.mi_sei
old: 65.82011012867007
new: 71.6415629498375
path: .spaces[0].metrics.mi.mi_visual_studio
old: 45.75274786306557
new: 59.64258900403194
path: .spaces[0].metrics.mi.mi_original
old: 78.23719884584213
new: 101.98882719689462
path: .spaces[0].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[0].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[0].metrics.cognitive.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.cognitive.average
old: null
new: 2.0

### Code

    static inline void alloc_word(uint64_t* &ireg_args,
                                  uint64_t* &stack_args,
                                  uint64_t* end,
                                  uint64_t  data)
    {
        if (ireg_args < end) {
            *ireg_args = data;
            ireg_args++;
        } else {
            *stack_args = data;
            stack_args++;
        }
    }

## Minimal test - lines (51, 63)

path: .spaces[1].metrics.nargs.average
old: 2.0
new: 4.0
path: .spaces[1].metrics.mi.mi_sei
old: 63.1788838906169
new: 70.39367680848638
path: .spaces[1].metrics.mi.mi_visual_studio
old: 56.17097597575495
new: 59.13675931950715
path: .spaces[1].metrics.mi.mi_original
old: 96.05236891854096
new: 101.12385843635724
path: .spaces[1].metrics.halstead.bugs
old: 0.055077828962987144
new: 0.07612822839066899
path: .spaces[1].metrics.halstead.time
old: 117.99798648454404
new: 191.7467280373841
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.1282499600910958
new: 1.2723098268032225
path: .spaces[1].metrics.halstead.effort
old: 2123.963756721793
new: 3451.441104672913
path: .spaces[1].metrics.halstead.volume
old: 233.6360132393972
new: 212.3963756721793
path: .spaces[1].metrics.halstead.estimated_program_length
old: 62.05374780501027
new: 63.61549134016113
path: .spaces[1].metrics.halstead.length
old: 55.0
new: 50.0
path: .spaces[1].metrics.halstead.level
old: 0.11
new: 0.06153846153846154
path: .spaces[1].metrics.halstead.n2
old: 11.0
new: 6.0
path: .spaces[1].metrics.halstead.N1
old: 30.0
new: 35.0
path: .spaces[1].metrics.halstead.n1
old: 8.0
new: 13.0
path: .spaces[1].metrics.halstead.difficulty
old: 9.090909090909092
new: 16.25
path: .spaces[1].metrics.halstead.N2
old: 25.0
new: 15.0
path: .spaces[1].metrics.cognitive.average
old: 0.0
new: 2.0
path: .spaces[1].metrics.cognitive.sum
old: 0.0
new: 2.0
path: .spaces[1].metrics.loc.lloc
old: 1.0
new: 5.0
path: .spaces[1].metrics.loc.sloc
old: 17.0
new: 13.0
path: .spaces[1].metrics.loc.blank
old: 2.0
new: 0.0
path: .spaces[1].metrics.loc.ploc
old: 15.0
new: 13.0
path: .spaces[1].metrics.nom.functions
old: 2.0
new: 1.0
path: .spaces[1].metrics.nom.total
old: 2.0
new: 1.0
path: .spaces[1].metrics.cyclomatic.sum
old: 3.0
new: 2.0
path: .spaces[1].metrics.cyclomatic.average
old: 1.0
new: 2.0

### Code

    static inline void alloc_double(double* &freg_args,
                                    uint64_t* &stack_args,
                                    double* end,
                                    double  data)
    {
        if (freg_args < end) {
            *freg_args = data;
            freg_args++;
        } else {
            memcpy(stack_args, &data, sizeof(data));
            stack_args++;
        }
    }