// File: /workspace/github_c_makefile_star2_O0/pipde[P]deos-songlib/utils/filter/hipass.c
// Function: filterloop
static void
filterloop(FILE *in,FILE *out,RRA *h)
    {
    int i;
    int amp;
    for (i = 0; i < h->samples; ++i)
        {
        xv[0] = xv[1];xv[1] = xv[2]; xv[2] = xv[3]; xv[3] = xv[4]; 
        amp = readRRAAmplitude(in,out,h->bitsPerSample,outputComment);
        xv[4] = amp / MAX / GAIN;
        yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = yv[3]; yv[3] = yv[4]; 
        //100 Hz
        //yv[4] =   (xv[0] + xv[4]) - 4 * (xv[1] + xv[3]) + 6 * xv[2]
        //      + ( -0.9634534511 * yv[0]) + (  3.8896837378 * yv[1])
        //      + ( -5.8889997443 * yv[2]) + (  3.9627694171 * yv[3]);
        //200 Hz
        yv[4] =   (xv[0] + xv[4]) - 4 * (xv[1] + xv[3]) + 6 * xv[2]
               + ( -0.9282404974 * yv[0]) + (  3.7820790085 * yv[1])
            + ( -5.7793788971 * yv[2]) + (  3.9255397507 * yv[3]);
                                                                                        fprintf(out,"%d\n",(int) (yv[4] * MAX));
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0xc(%rcx), %eax
jge 0x1826
movss 0x6b01(%rip), %xmm0     # 0x8164
movss %xmm0, 0x6af5(%rip)     # 0x8160
movss 0x6af5(%rip), %xmm0     # 0x8168
movss %xmm0, 0x6ae9(%rip)     # 0x8164
movss 0x6ae9(%rip), %xmm0     # 0x816c
movss %xmm0, 0x6add(%rip)     # 0x8168
movss 0x6add(%rip), %xmm0     # 0x8170
movss %xmm0, 0x6ad1(%rip)     # 0x816c
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edx
leaq 0x208f(%rip), %rcx      # 0x3740
callq 0x2a90
movl %eax, -0x20(%rbp)
cvtsi2sdl -0x20(%rbp), %xmm0
movsd 0x399a(%rip), %xmm1     # 0x5060
divsd %xmm1, %xmm0
movsd 0x39b6(%rip), %xmm1     # 0x5088
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x6a8e(%rip)     # 0x8170
movss 0x6a9a(%rip), %xmm0     # 0x8184
movss %xmm0, 0x6a8e(%rip)     # 0x8180
movss 0x6a8e(%rip), %xmm0     # 0x8188
movss %xmm0, 0x6a82(%rip)     # 0x8184
movss 0x6a82(%rip), %xmm0     # 0x818c
movss %xmm0, 0x6a76(%rip)     # 0x8188
movss 0x6a76(%rip), %xmm0     # 0x8190
movss %xmm0, 0x6a6a(%rip)     # 0x818c
movss 0x6a36(%rip), %xmm0     # 0x8160
addss 0x6a3e(%rip), %xmm0     # 0x8170
movss 0x6a2a(%rip), %xmm1     # 0x8164
addss 0x6a2a(%rip), %xmm1     # 0x816c
movss 0x394a(%rip), %xmm2     # 0x5094
mulss %xmm2, %xmm1
addss %xmm0, %xmm1
movss 0x6a0e(%rip), %xmm0     # 0x8168
movss 0x392e(%rip), %xmm2     # 0x5090
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movss 0x6a0a(%rip), %xmm1     # 0x8180
cvtss2sd %xmm1, %xmm1
movsd 0x38fe(%rip), %xmm2     # 0x5080
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movss 0x69f2(%rip), %xmm0     # 0x8184
cvtss2sd %xmm0, %xmm0
movsd 0x38da(%rip), %xmm2     # 0x5078
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movss 0x69da(%rip), %xmm1     # 0x8188
cvtss2sd %xmm1, %xmm1
movsd 0x38b6(%rip), %xmm2     # 0x5070
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movss 0x69c2(%rip), %xmm0     # 0x818c
cvtss2sd %xmm0, %xmm0
movsd 0x3892(%rip), %xmm2     # 0x5068
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x69a6(%rip)     # 0x8190
movq -0x10(%rbp), %rdi
movss 0x699a(%rip), %xmm0     # 0x8190
cvtss2sd %xmm0, %xmm0
movsd 0x385e(%rip), %xmm1     # 0x5060
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %edx
leaq 0x3a8c(%rip), %rsi      # 0x529d
movb $0x0, %al
callq 0x1110
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x164b
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)