// File: /workspace/github_c_makefile_star2_O1/randyrossi[P]fisher-modem/mkfilter/src/gencode.C
// Function: pr_xpart(char const*)
static void pr_xpart(const char* vs) { /* output contribution from X vec */
  nxfacs = 0;
  for (int i = 0; i < (nzeros + 1) / 2; i++) {
    int j = nzeros - i;
    double xi = xcoeffs[i], xj = xcoeffs[j];
    /* they should be paired, except for allpass resonator */
    if (xi == xj) {
      unless(xi == 0.0) {
        prxfac(xi);
        printf("(%s[%d] + %s[%d])", vs, i, vs, j);
      }
    } else if (xi == -xj) {
      if (xi > 0.0) {
        prxfac(xi);
        printf("(%s[%d] - %s[%d])", vs, i, vs, j);
      } else {
        prxfac(xj);
        printf("(%s[%d] - %s[%d])", vs, j, vs, i);
      }
    } else {
      unless(xi == 0.0) {
        prxfac(xi);
        printf("%s[%d]", vs, i);
      }
      unless(xj == 0.0) {
        prxfac(xj);
        printf("%s[%d]", vs, j);
      }
    }
  }
  if ((nzeros + 1) & 1) {
    int j = nzeros / 2;
    double xj = xcoeffs[j];
    unless(xj == 0.0) {
      prxfac(xj);
      printf("%s[%d]", vs, j);
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movl $0x0, 0x5713(%rip)      # 0x721c
movl 0x36e0(%rip), %r12d     # 0x51f0
leaq 0x36e9(%rip), %rcx      # 0x5200
testl %r12d, %r12d
jle 0x1c71
xorpd %xmm2, %xmm2
movq %rcx, %r14
xorl %r15d, %r15d
xorl %r13d, %r13d
movl %r12d, %ebp
addq %r15, %rbp
movsd (%r14), %xmm0
movslq %r12d, %rax
addq %r15, %rax
movsd (%rcx,%rax,8), %xmm3
ucomisd %xmm3, %xmm0
jne 0x1b86
jp 0x1b86
ucomisd %xmm2, %xmm0
jne 0x1b57
jnp 0x1c46
callq 0x1cf0
leaq 0x1609(%rip), %rdi      # 0x316c
movq %rbx, %rsi
movl %r13d, %edx
movq %rbx, %rcx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x1030
xorpd %xmm2, %xmm2
leaq 0x367f(%rip), %rcx      # 0x5200
jmp 0x1c46
movapd %xmm3, %xmm1
xorpd 0x148e(%rip), %xmm1     # 0x3020
ucomisd %xmm1, %xmm0
jne 0x1bba
jp 0x1bba
ucomisd %xmm2, %xmm0
jbe 0x1c19
callq 0x1cf0
leaq 0x15d2(%rip), %rdi      # 0x317e
movq %rbx, %rsi
movl %r13d, %edx
movq %rbx, %rcx
movl %ebp, %r8d
jmp 0x1c34
ucomisd %xmm2, %xmm0
jne 0x1bc2
jnp 0x1bf0
movapd %xmm3, (%rsp)
callq 0x1cf0
leaq 0x15bd(%rip), %rdi      # 0x3190
movq %rbx, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1030
movapd (%rsp), %xmm3
xorpd %xmm2, %xmm2
leaq 0x3610(%rip), %rcx      # 0x5200
ucomisd %xmm2, %xmm3
jne 0x1bf8
jnp 0x1c46
movapd %xmm3, %xmm0
callq 0x1cf0
leaq 0x1588(%rip), %rdi      # 0x3190
movq %rbx, %rsi
movl %ebp, %edx
xorl %eax, %eax
callq 0x1030
jmp 0x1b76
movapd %xmm3, %xmm0
callq 0x1cf0
leaq 0x1555(%rip), %rdi      # 0x317e
movq %rbx, %rsi
movl %ebp, %edx
movq %rbx, %rcx
movl %r13d, %r8d
xorl %eax, %eax
callq 0x1030
leaq 0x35be(%rip), %rcx      # 0x5200
xorpd %xmm2, %xmm2
incq %r13
movl 0x35a0(%rip), %r12d     # 0x51f0
leal 0x1(%r12), %eax
shrl $0x1f, %eax
addl %r12d, %eax
incl %eax
sarl %eax
cltq
decq %r15
addq $0x8, %r14
cmpq %rax, %r13
jl 0x1b2d
testb $0x1, %r12b
jne 0x1c8e
sarl %r12d
movslq %r12d, %rax
movsd (%rcx,%rax,8), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1c9d
jp 0x1c9d
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x1cf0
leaq 0x14e7(%rip), %rdi      # 0x3190
movq %rbx, %rsi
movl %r12d, %edx
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1030