// File: /workspace/github_c_makefile_star2_O0/pipde[P]deos-songlib/utils/reverb/reverb.c
// Function: processData
static void
processData(FILE *in,FILE *out,RRA *h)
    {
    int i,j,k;

    //convert delay from seconds to samples

    s = (int ***) New(sizeof(int **) * stages);

    for (k = 0; k < stages; ++k)
        {
        s[k] = (int **) New(sizeof(int *) * h->channels);
        for (j = 0; j < h->channels; ++j)
            {
            s[k][j] = (int *) New(sizeof(int) * size);
            for (i = 0; i < size; ++i)
               {
               s[k][j][i] = 0;
               }
            }
        }

    for (i = 0; i < h->samples; ++i)
        for (j = 0; j < h->channels; ++j)
            {
            int p = i % size;
            int q = (i - delay + size) % size;
            int amp = readRRAAmplitude(in,out,h->bitsPerSample,outputComment);

            s[0][j][p] = amp;
            for (k = 1; k < stages; ++k)
                s[k][j][p] = -g * s[k-1][j][p] +
                    (1 - g*g) * (s[k-1][j][q] + g * s[k][j][q]);
            //  s5[j][k] = -g * s4[j][k] +
            //      (1 - g*g) * (s4[j][m] + g * s5[j][m]);

            fprintf(out,"%d\n",(int) (s[stages-1][j][p] * a));
            }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movslq 0xd959(%rip), %rax      # 0x10184
shlq $0x3, %rax
movl %eax, %edi
callq 0x8f50
movq %rax, 0xdbfb(%rip)      # 0x10438
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl 0xd937(%rip), %eax      # 0x10184
jge 0x2914
movq -0x18(%rbp), %rax
movslq (%rax), %rax
shlq $0x3, %rax
movl %eax, %edi
callq 0x8f50
movq %rax, %rdx
movq 0xdbc9(%rip), %rax      # 0x10438
movslq -0x24(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x2904
movslq 0xdba0(%rip), %rax      # 0x10430
shlq $0x2, %rax
movl %eax, %edi
callq 0x8f50
movq %rax, %rdx
movq 0xdb93(%rip), %rax      # 0x10438
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl 0xdb6b(%rip), %eax      # 0x10430
jge 0x28f4
movq 0xdb6a(%rip), %rax      # 0x10438
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x1c(%rbp), %rcx
movl $0x0, (%rax,%rcx,4)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x28bc
jmp 0x28f6
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x287e
jmp 0x2906
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x2844
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jge 0x2b27
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x2b17
movl -0x1c(%rbp), %eax
cltd
idivl 0xdae5(%rip)            # 0x10430
movl %edx, -0x28(%rbp)
movl -0x1c(%rbp), %eax
subl 0xd829(%rip), %eax      # 0x10180
addl 0xdad3(%rip), %eax      # 0x10430
cltd
idivl 0xdacc(%rip)            # 0x10430
movl %edx, -0x2c(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edx
leaq 0x8293(%rip), %rcx      # 0xac10
callq 0x9f60
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %edx
movq 0xdaa9(%rip), %rax      # 0x10438
movq (%rax), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x28(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl $0x1, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl 0xd7d3(%rip), %eax      # 0x10184
jge 0x2ac3
movsd 0xd7c9(%rip), %xmm0     # 0x10188
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq 0xda5b(%rip), %rax      # 0x10438
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x28(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,4), %xmm2
movsd 0xd785(%rip), %xmm1     # 0x10188
movsd 0xd77d(%rip), %xmm3     # 0x10188
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm3, %xmm1
movsd 0x9632(%rip), %xmm3     # 0xc060
addsd %xmm3, %xmm1
movq 0xd9ff(%rip), %rax      # 0x10438
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,4), %xmm4
movsd 0xd729(%rip), %xmm3     # 0x10188
movq 0xd9d2(%rip), %rax      # 0x10438
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x2c(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,4), %xmm5
mulsd %xmm5, %xmm3
addsd %xmm4, %xmm3
mulsd %xmm3, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
movq 0xd99a(%rip), %rax      # 0x10438
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x28(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x29a8
movq -0x10(%rbp), %rdi
movq 0xd96a(%rip), %rax      # 0x10438
movl 0xd6b0(%rip), %ecx      # 0x10184
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movslq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x28(%rbp), %rcx
cvtsi2sdl (%rax,%rcx,4), %xmm0
mulsd 0xd699(%rip), %xmm0     # 0x10190
cvttsd2si %xmm0, %edx
leaq 0x9cd3(%rip), %rsi      # 0xc7d5
movb $0x0, %al
callq 0x2190
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x2932
jmp 0x2b19
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x291b
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)