<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def pruned_c2cifft(invec, outvec, indices, pretransposed=False):
 """ Perform a pruned iFFT, only valid for power of 2 iffts as the decomposition is easier to choose. This is not a strict requirement of the functions, but it is unlikely to the optimal to use anything but power of 2. (Alex to provide more details in write up. Parameters invec : array The input vector. This should be the correlation between the data and the template at full sample rate. Ideally this is pre-transposed, but if not this will be transposed in this function. outvec : array The output of the first phase of the pruned FFT. indices : array of ints The indexes at which to calculate the full sample-rate SNR. pretransposed : boolean, default=False Used to indicate whether or not invec is pretransposed. Returns -------- SNRs : array The complex SNRs at the indexes given by indices. """

    N1, N2 = splay(invec)

    if not pretransposed:
        invec = fft_transpose(invec)
    first_phase(invec, outvec, N1=N1, N2=N2)
    out = fast_second_phase(outvec, indices, N1=N1, N2=N2)
    return out