LCOV - code coverage report
Current view: top level - lib_lc3plus/fft - fft_15_16.h (source / functions) Hit Total Coverage
Test: Coverage on main -- short test vectors @ 8d2fe124206686dad8ff99d37840cb025a222d48 Lines: 337 337 100.0 %
Date: 2025-10-28 07:01:44 Functions: 2 2 100.0 %

          Line data    Source code
       1             : /******************************************************************************
       2             : *                        ETSI TS 103 634 V1.5.1                               *
       3             : *              Low Complexity Communication Codec Plus (LC3plus)              *
       4             : *                                                                             *
       5             : * Copyright licence is solely granted through ETSI Intellectual Property      *
       6             : * Rights Policy, 3rd April 2019. No patent licence is granted by implication, *
       7             : * estoppel or otherwise.                                                      *
       8             : ******************************************************************************/
       9             : 
      10             : /* guard against unindended includes */
      11             : #ifndef INCLUDED_FROM_IISFFT_C
      12             : #error "this file must not be included"
      13             : #endif
      14             : 
      15     1598848 : static void fft15(LC3_FLOAT* vec)
      16             : {
      17             :     LC3_FLOAT r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, i0, i1, i2, i3, i4, i5,
      18             :         i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8,
      19             :         tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24,
      20             :         tmp25, tmp26, tmp27, tmp28, tmp29;
      21             : 
      22             :     /* Pre-additions real part */
      23     1598848 :     r1  = vec[2] + vec[8];
      24     1598848 :     r2  = vec[2] - vec[8];
      25     1598848 :     r3  = vec[4] + vec[16];
      26     1598848 :     r4  = vec[4] - vec[16];
      27     1598848 :     r5  = vec[6] + vec[24];
      28     1598848 :     r6  = vec[6] - vec[24];
      29     1598848 :     r7  = vec[10] + vec[20];
      30     1598848 :     r8  = vec[10] - vec[20];
      31     1598848 :     r9  = vec[12] + vec[18];
      32     1598848 :     r10 = vec[12] - vec[18];
      33     1598848 :     r11 = vec[14] + vec[26];
      34     1598848 :     r12 = vec[14] - vec[26];
      35     1598848 :     r13 = vec[22] + vec[28];
      36     1598848 :     r14 = vec[22] - vec[28];
      37             : 
      38     1598848 :     tmp2  = r1 + r3;
      39     1598848 :     tmp4  = r1 - r3;
      40     1598848 :     tmp6  = r2 + r14;
      41     1598848 :     tmp8  = r2 - r14;
      42     1598848 :     tmp10 = r4 + r12;
      43     1598848 :     tmp12 = r4 - r12;
      44     1598848 :     tmp14 = r5 + r9;
      45     1598848 :     tmp16 = r5 - r9;
      46     1598848 :     tmp18 = r11 + r13;
      47     1598848 :     tmp20 = r11 - r13;
      48             : 
      49             :     /* Pre-additions imaginary part */
      50     1598848 :     i1  = vec[3] + vec[9];
      51     1598848 :     i2  = vec[3] - vec[9];
      52     1598848 :     i3  = vec[5] + vec[17];
      53     1598848 :     i4  = vec[5] - vec[17];
      54     1598848 :     i5  = vec[7] + vec[25];
      55     1598848 :     i6  = vec[7] - vec[25];
      56     1598848 :     i7  = vec[11] + vec[21];
      57     1598848 :     i8  = vec[11] - vec[21];
      58     1598848 :     i9  = vec[13] + vec[19];
      59     1598848 :     i10 = vec[13] - vec[19];
      60     1598848 :     i11 = vec[15] + vec[27];
      61     1598848 :     i12 = vec[15] - vec[27];
      62     1598848 :     i13 = vec[23] + vec[29];
      63     1598848 :     i14 = vec[23] - vec[29];
      64             : 
      65     1598848 :     tmp3  = i1 + i3;
      66     1598848 :     tmp5  = i1 - i3;
      67     1598848 :     tmp7  = i2 + i14;
      68     1598848 :     tmp9  = i2 - i14;
      69     1598848 :     tmp11 = i4 + i12;
      70     1598848 :     tmp13 = i4 - i12;
      71     1598848 :     tmp15 = i5 + i9;
      72     1598848 :     tmp17 = i5 - i9;
      73     1598848 :     tmp19 = i11 + i13;
      74     1598848 :     tmp21 = i11 - i13;
      75             : 
      76             :     /* Pre-additions and core multiplications */
      77     1598848 :     tmp28 = tmp4 + tmp20;
      78     1598848 :     tmp29 = tmp5 + tmp21;
      79     1598848 :     r4    = tmp2 + tmp18;
      80     1598848 :     i4    = tmp3 + tmp19;
      81     1598848 :     r3    = (r4 + tmp14) * (LC3_FLOAT)-1.25;
      82     1598848 :     i3    = (i4 + tmp15) * (LC3_FLOAT)-1.25;
      83     1598848 :     r2    = (tmp29 - i8) * (LC3_FLOAT)-8.660254037844387e-1;
      84     1598848 :     i2    = (tmp28 - r8) * (LC3_FLOAT)8.660254037844387e-1;
      85     1598848 :     r1    = r4 + r7;
      86     1598848 :     i1    = i4 + i7;
      87     1598848 :     r0    = r1 + vec[0] + tmp14;
      88     1598848 :     i0    = i1 + vec[1] + tmp15;
      89     1598848 :     r7    = tmp4 - tmp20;
      90     1598848 :     i7    = tmp5 - tmp21;
      91     1598848 :     r8    = (tmp3 - tmp19) * (LC3_FLOAT)-4.841229182759272e-1;
      92     1598848 :     i8    = (tmp2 - tmp18) * (LC3_FLOAT)4.841229182759272e-1;
      93     1598848 :     tmp0  = tmp6 + r10;
      94     1598848 :     tmp1  = tmp7 + i10;
      95     1598848 :     tmp2  = r6 - tmp10;
      96     1598848 :     tmp3  = i6 - tmp11;
      97     1598848 :     r10   = tmp7 * (LC3_FLOAT)-2.308262652881440;
      98     1598848 :     i10   = tmp6 * (LC3_FLOAT)2.308262652881440;
      99     1598848 :     r11   = tmp8 * (LC3_FLOAT)1.332676064001459;
     100     1598848 :     i11   = tmp9 * (LC3_FLOAT)1.332676064001459;
     101     1598848 :     r6    = (r7 - tmp16) * (LC3_FLOAT)5.590169943749475e-1;
     102     1598848 :     i6    = (i7 - tmp17) * (LC3_FLOAT)5.590169943749475e-1;
     103     1598848 :     r12   = (tmp1 + tmp3) * (LC3_FLOAT)5.877852522924733e-1;
     104     1598848 :     i12   = (tmp0 + tmp2) * (LC3_FLOAT)-5.877852522924733e-1;
     105     1598848 :     r13   = (tmp7 - tmp11) * (LC3_FLOAT)-8.816778784387098e-1;
     106     1598848 :     i13   = (tmp6 - tmp10) * (LC3_FLOAT)8.816778784387098e-1;
     107     1598848 :     r14   = (tmp8 + tmp12) * (LC3_FLOAT)5.090369604551274e-1;
     108     1598848 :     i14   = (tmp9 + tmp13) * (LC3_FLOAT)5.090369604551274e-1;
     109     1598848 :     r16   = tmp11 * (LC3_FLOAT)5.449068960040204e-1;
     110     1598848 :     i16   = tmp10 * (LC3_FLOAT)-5.449068960040204e-1;
     111     1598848 :     r17   = tmp12 * (LC3_FLOAT)3.146021430912046e-1;
     112     1598848 :     i17   = tmp13 * (LC3_FLOAT)3.146021430912046e-1;
     113             : 
     114     1598848 :     r4 *= (LC3_FLOAT)1.875;
     115     1598848 :     i4 *= (LC3_FLOAT)1.875;
     116     1598848 :     r1 *= (LC3_FLOAT)-1.5;
     117     1598848 :     i1 *= (LC3_FLOAT)-1.5;
     118     1598848 :     r7 *= (LC3_FLOAT)-8.385254915624212e-1;
     119     1598848 :     i7 *= (LC3_FLOAT)-8.385254915624212e-1;
     120     1598848 :     r5  = tmp29 * (LC3_FLOAT)1.082531754730548;
     121     1598848 :     i5  = tmp28 * (LC3_FLOAT)-1.082531754730548;
     122     1598848 :     r9  = tmp1 * (LC3_FLOAT)1.538841768587627;
     123     1598848 :     i9  = tmp0 * (LC3_FLOAT)-1.538841768587627;
     124     1598848 :     r15 = tmp3 * (LC3_FLOAT)3.632712640026803e-1;
     125     1598848 :     i15 = tmp2 * (LC3_FLOAT)-3.632712640026803e-1;
     126             : 
     127             :     /* Post-additions real part */
     128     1598848 :     tmp2  = r0 + r1;
     129     1598848 :     tmp4  = r3 + r6;
     130     1598848 :     tmp6  = r3 - r6;
     131     1598848 :     tmp8  = r4 + r5;
     132     1598848 :     tmp10 = r4 - r5;
     133     1598848 :     tmp12 = r7 + r8;
     134     1598848 :     tmp14 = r7 - r8;
     135     1598848 :     tmp16 = r13 + r16;
     136     1598848 :     tmp18 = r14 + r17;
     137     1598848 :     tmp20 = r10 - r13;
     138     1598848 :     tmp22 = r11 - r14;
     139     1598848 :     tmp24 = r12 + r15;
     140     1598848 :     tmp26 = r12 - r9;
     141             : 
     142     1598848 :     r1  = tmp2 + r2;
     143     1598848 :     r2  = tmp2 - r2;
     144     1598848 :     r3  = tmp4 + tmp26;
     145     1598848 :     r4  = tmp4 - tmp26;
     146     1598848 :     r5  = tmp6 + tmp24;
     147     1598848 :     r6  = tmp6 - tmp24;
     148     1598848 :     r7  = tmp16 + tmp18;
     149     1598848 :     r8  = tmp16 - tmp18;
     150     1598848 :     r9  = tmp20 - tmp22;
     151     1598848 :     r10 = tmp20 + tmp22;
     152     1598848 :     r11 = r1 + tmp8;
     153     1598848 :     r12 = r2 + tmp10;
     154     1598848 :     r13 = r11 - tmp12;
     155     1598848 :     r14 = r12 - tmp14;
     156     1598848 :     r15 = r12 + tmp14;
     157     1598848 :     r16 = r11 + tmp12;
     158             : 
     159             :     /* Post-additions imaginary part */
     160     1598848 :     tmp3  = i0 + i1;
     161     1598848 :     tmp5  = i3 + i6;
     162     1598848 :     tmp7  = i3 - i6;
     163     1598848 :     tmp9  = i4 + i5;
     164     1598848 :     tmp11 = i4 - i5;
     165     1598848 :     tmp13 = i7 + i8;
     166     1598848 :     tmp15 = i7 - i8;
     167     1598848 :     tmp17 = i13 + i16;
     168     1598848 :     tmp19 = i14 + i17;
     169     1598848 :     tmp21 = i10 - i13;
     170     1598848 :     tmp23 = i11 - i14;
     171     1598848 :     tmp25 = i12 + i15;
     172     1598848 :     tmp27 = i12 - i9;
     173             : 
     174     1598848 :     i1  = tmp3 + i2;
     175     1598848 :     i2  = tmp3 - i2;
     176     1598848 :     i3  = tmp5 + tmp27;
     177     1598848 :     i4  = tmp5 - tmp27;
     178     1598848 :     i5  = tmp7 + tmp25;
     179     1598848 :     i6  = tmp7 - tmp25;
     180     1598848 :     i7  = tmp17 + tmp19;
     181     1598848 :     i8  = tmp17 - tmp19;
     182     1598848 :     i9  = tmp21 - tmp23;
     183     1598848 :     i10 = tmp21 + tmp23;
     184     1598848 :     i11 = i1 + tmp9;
     185     1598848 :     i12 = i2 + tmp11;
     186     1598848 :     i13 = i11 - tmp13;
     187     1598848 :     i14 = i12 - tmp15;
     188     1598848 :     i15 = i12 + tmp15;
     189     1598848 :     i16 = i11 + tmp13;
     190             : 
     191     1598848 :     *vec++ = r0;
     192     1598848 :     *vec++ = i0;
     193     1598848 :     *vec++ = r13 + r5 + r7;
     194     1598848 :     *vec++ = i13 + i5 + i7;
     195     1598848 :     *vec++ = r15 + r3 - r9;
     196     1598848 :     *vec++ = i15 + i3 - i9;
     197     1598848 :     *vec++ = r0 + r4;
     198     1598848 :     *vec++ = i0 + i4;
     199     1598848 :     *vec++ = r13 + r6 - r7;
     200     1598848 :     *vec++ = i13 + i6 - i7;
     201     1598848 :     *vec++ = r2;
     202     1598848 :     *vec++ = i2;
     203     1598848 :     *vec++ = r0 + r5;
     204     1598848 :     *vec++ = i0 + i5;
     205     1598848 :     *vec++ = r16 + r3 - r10;
     206     1598848 :     *vec++ = i16 + i3 - i10;
     207     1598848 :     *vec++ = r15 + r4 + r9;
     208     1598848 :     *vec++ = i15 + i4 + i9;
     209     1598848 :     *vec++ = r0 + r6;
     210     1598848 :     *vec++ = i0 + i6;
     211     1598848 :     *vec++ = r1;
     212     1598848 :     *vec++ = i1;
     213     1598848 :     *vec++ = r14 + r5 + r8;
     214     1598848 :     *vec++ = i14 + i5 + i8;
     215     1598848 :     *vec++ = r0 + r3;
     216     1598848 :     *vec++ = i0 + i3;
     217     1598848 :     *vec++ = r16 + r4 + r10;
     218     1598848 :     *vec++ = i16 + i4 + i10;
     219     1598848 :     *vec++ = r14 + r6 - r8;
     220     1598848 :     *vec++ = i14 + i6 - i8;
     221     1598848 : }
     222             : 
     223     2688071 : static void fft16(LC3_FLOAT* vec)
     224             : {
     225     2688071 :     const LC3_FLOAT INV_SQRT2    = 7.071067811865475e-1;
     226     2688071 :     const LC3_FLOAT COS_PI_DIV8  = 9.238795325112867e-1;
     227     2688071 :     const LC3_FLOAT COS_3PI_DIV8 = 3.826834323650898e-1;
     228     2688071 :     const LC3_FLOAT SQRT2PLUS1   = 2.414213562373095;
     229     2688071 :     const LC3_FLOAT SQRT2MINUS1  = 4.142135623730952e-1;
     230             : 
     231             :     LC3_FLOAT temp10, temp11, temp12, temp13, temp14, temp15, temp16, temp17, temp18, temp19, temp110, temp111, temp112,
     232             :         temp113, temp114, temp115, temp20, temp21, temp22, temp23, temp24, temp25, temp26, temp27, temp28, temp29,
     233             :         temp210, temp211, temp212, temp213, temp214, temp215, vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7, vec8,
     234             :         vec9, vec10, vec11, vec12, vec13, vec14, vec15;
     235             : 
     236             :     /* even */
     237     2688071 :     vec0  = vec[0] + vec[16];
     238     2688071 :     vec1  = vec[1] + vec[17];
     239     2688071 :     vec2  = vec[2] + vec[18];
     240     2688071 :     vec3  = vec[3] + vec[19];
     241     2688071 :     vec4  = vec[4] + vec[20];
     242     2688071 :     vec5  = vec[5] + vec[21];
     243     2688071 :     vec6  = vec[6] + vec[22];
     244     2688071 :     vec7  = vec[7] + vec[23];
     245     2688071 :     vec8  = vec[8] + vec[24];
     246     2688071 :     vec9  = vec[9] + vec[25];
     247     2688071 :     vec10 = vec[10] + vec[26];
     248     2688071 :     vec11 = vec[11] + vec[27];
     249     2688071 :     vec12 = vec[12] + vec[28];
     250     2688071 :     vec13 = vec[13] + vec[29];
     251     2688071 :     vec14 = vec[14] + vec[30];
     252     2688071 :     vec15 = vec[15] + vec[31];
     253             : 
     254             :     /* Pre-additions */
     255     2688071 :     temp10  = vec0 + vec8;
     256     2688071 :     temp12  = vec0 - vec8;
     257     2688071 :     temp11  = vec1 + vec9;
     258     2688071 :     temp13  = vec1 - vec9;
     259     2688071 :     temp14  = vec2 + vec10;
     260     2688071 :     temp16  = vec2 - vec10;
     261     2688071 :     temp15  = vec3 + vec11;
     262     2688071 :     temp17  = vec3 - vec11;
     263     2688071 :     temp18  = vec4 + vec12;
     264     2688071 :     temp110 = vec4 - vec12;
     265     2688071 :     temp19  = vec5 + vec13;
     266     2688071 :     temp111 = vec5 - vec13;
     267     2688071 :     temp112 = vec6 + vec14;
     268     2688071 :     temp114 = vec6 - vec14;
     269     2688071 :     temp113 = vec7 + vec15;
     270     2688071 :     temp115 = vec7 - vec15;
     271             : 
     272             :     /* Pre-additions and core multiplications */
     273     2688071 :     temp20  = temp10 + temp18;
     274     2688071 :     temp24  = temp10 - temp18;
     275     2688071 :     temp21  = temp11 + temp19;
     276     2688071 :     temp25  = temp11 - temp19;
     277     2688071 :     temp28  = temp12 - temp111;
     278     2688071 :     temp210 = temp12 + temp111;
     279     2688071 :     temp29  = temp13 + temp110;
     280     2688071 :     temp211 = temp13 - temp110;
     281     2688071 :     temp22  = temp14 + temp112;
     282     2688071 :     temp27  = temp14 - temp112;
     283     2688071 :     temp23  = temp15 + temp113;
     284     2688071 :     temp26  = temp113 - temp15;
     285             : 
     286     2688071 :     temp11  = temp16 + temp114;
     287     2688071 :     temp12  = temp16 - temp114;
     288     2688071 :     temp10  = temp17 + temp115;
     289     2688071 :     temp13  = temp17 - temp115;
     290     2688071 :     temp212 = (temp10 + temp12) * INV_SQRT2;
     291     2688071 :     temp214 = (temp10 - temp12) * INV_SQRT2;
     292     2688071 :     temp213 = (temp13 - temp11) * INV_SQRT2;
     293     2688071 :     temp215 = (temp11 + temp13) * -INV_SQRT2;
     294             : 
     295             :     /* odd */
     296     2688071 :     vec0  = vec[0] - vec[16];
     297     2688071 :     vec1  = vec[1] - vec[17];
     298     2688071 :     vec2  = vec[2] - vec[18];
     299     2688071 :     vec3  = vec[3] - vec[19];
     300     2688071 :     vec4  = vec[4] - vec[20];
     301     2688071 :     vec5  = vec[5] - vec[21];
     302     2688071 :     vec6  = vec[6] - vec[22];
     303     2688071 :     vec7  = vec[7] - vec[23];
     304     2688071 :     vec8  = vec[8] - vec[24];
     305     2688071 :     vec9  = vec[9] - vec[25];
     306     2688071 :     vec10 = vec[10] - vec[26];
     307     2688071 :     vec11 = vec[11] - vec[27];
     308     2688071 :     vec12 = vec[12] - vec[28];
     309     2688071 :     vec13 = vec[13] - vec[29];
     310     2688071 :     vec14 = vec[14] - vec[30];
     311     2688071 :     vec15 = vec[15] - vec[31];
     312             : 
     313             :     /* Pre-additions and core multiplications */
     314     2688071 :     temp19  = (vec2 + vec14) * -COS_3PI_DIV8;
     315     2688071 :     temp110 = (vec2 - vec14) * COS_PI_DIV8;
     316     2688071 :     temp18  = (vec3 + vec15) * COS_3PI_DIV8;
     317     2688071 :     temp111 = (vec3 - vec15) * COS_PI_DIV8;
     318     2688071 :     temp15  = (vec4 + vec12) * -INV_SQRT2;
     319     2688071 :     temp16  = (vec4 - vec12) * INV_SQRT2;
     320     2688071 :     temp14  = (vec5 + vec13) * INV_SQRT2;
     321     2688071 :     temp17  = (vec5 - vec13) * INV_SQRT2;
     322     2688071 :     temp113 = (vec6 + vec10) * -COS_PI_DIV8;
     323     2688071 :     temp114 = (vec6 - vec10) * COS_3PI_DIV8;
     324     2688071 :     temp112 = (vec7 + vec11) * COS_PI_DIV8;
     325     2688071 :     temp115 = (vec7 - vec11) * COS_3PI_DIV8;
     326             : 
     327             :     /* Core multiplications */
     328     2688071 :     vec2 = temp18 * SQRT2PLUS1 - temp112 * SQRT2MINUS1;
     329     2688071 :     vec3 = temp19 * SQRT2PLUS1 - temp113 * SQRT2MINUS1;
     330     2688071 :     vec4 = temp110 * SQRT2MINUS1 - temp114 * SQRT2PLUS1;
     331     2688071 :     vec5 = temp111 * SQRT2MINUS1 - temp115 * SQRT2PLUS1;
     332             : 
     333             :     /* Post-additions */
     334     2688071 :     temp18 += temp112;
     335     2688071 :     temp19 += temp113;
     336     2688071 :     temp110 += temp114;
     337     2688071 :     temp111 += temp115;
     338     2688071 :     vec6  = vec0 + temp14;
     339     2688071 :     vec10 = vec0 - temp14;
     340     2688071 :     vec7  = vec1 + temp15;
     341     2688071 :     vec11 = vec1 - temp15;
     342             : 
     343     2688071 :     vec12 = temp16 - vec9;
     344     2688071 :     vec14 = temp16 + vec9;
     345     2688071 :     vec13 = vec8 + temp17;
     346     2688071 :     vec15 = vec8 - temp17;
     347             : 
     348     2688071 :     temp10 = vec6 - vec14;
     349     2688071 :     temp12 = vec6 + vec14;
     350     2688071 :     temp11 = vec7 + vec15;
     351     2688071 :     temp13 = vec7 - vec15;
     352     2688071 :     temp14 = vec10 + vec12;
     353     2688071 :     temp16 = vec10 - vec12;
     354     2688071 :     temp15 = vec11 + vec13;
     355     2688071 :     temp17 = vec11 - vec13;
     356             : 
     357     2688071 :     vec10   = temp18 + temp110;
     358     2688071 :     temp110 = temp18 - temp110;
     359     2688071 :     vec11   = temp19 + temp111;
     360     2688071 :     temp111 = temp19 - temp111;
     361             : 
     362     2688071 :     temp112 = vec2 + vec4;
     363     2688071 :     temp114 = vec2 - vec4;
     364     2688071 :     temp113 = vec3 + vec5;
     365     2688071 :     temp115 = vec3 - vec5;
     366             : 
     367             :     /* Post-additions */
     368     2688071 :     *vec++ = temp20 + temp22;
     369     2688071 :     *vec++ = temp21 + temp23;
     370     2688071 :     *vec++ = temp12 + vec10;
     371     2688071 :     *vec++ = temp13 + vec11;
     372     2688071 :     *vec++ = temp210 + temp212;
     373     2688071 :     *vec++ = temp211 + temp213;
     374     2688071 :     *vec++ = temp10 + temp112;
     375     2688071 :     *vec++ = temp11 + temp113;
     376     2688071 :     *vec++ = temp24 - temp26;
     377     2688071 :     *vec++ = temp25 - temp27;
     378     2688071 :     *vec++ = temp16 + temp114;
     379     2688071 :     *vec++ = temp17 + temp115;
     380     2688071 :     *vec++ = temp28 + temp214;
     381     2688071 :     *vec++ = temp29 + temp215;
     382     2688071 :     *vec++ = temp14 + temp110;
     383     2688071 :     *vec++ = temp15 + temp111;
     384     2688071 :     *vec++ = temp20 - temp22;
     385     2688071 :     *vec++ = temp21 - temp23;
     386     2688071 :     *vec++ = temp12 - vec10;
     387     2688071 :     *vec++ = temp13 - vec11;
     388     2688071 :     *vec++ = temp210 - temp212;
     389     2688071 :     *vec++ = temp211 - temp213;
     390     2688071 :     *vec++ = temp10 - temp112;
     391     2688071 :     *vec++ = temp11 - temp113;
     392     2688071 :     *vec++ = temp24 + temp26;
     393     2688071 :     *vec++ = temp25 + temp27;
     394     2688071 :     *vec++ = temp16 - temp114;
     395     2688071 :     *vec++ = temp17 - temp115;
     396     2688071 :     *vec++ = temp28 - temp214;
     397     2688071 :     *vec++ = temp29 - temp215;
     398     2688071 :     *vec++ = temp14 - temp110;
     399     2688071 :     *vec++ = temp15 - temp111;
     400     2688071 : }

Generated by: LCOV version 1.14