// File: /workspace/github_c_makefile_star2_O3/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, 0x5704(%rip)      # 0x721c
movl 0x36d1(%rip), %r12d     # 0x51f0
leaq 0x36da(%rip), %rcx      # 0x5200
testl %r12d, %r12d
jle 0x1c80
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 0x1b95
jp 0x1b95
ucomisd %xmm2, %xmm0
jne 0x1b66
jnp 0x1c55
callq 0x1cff
leaq 0x15f7(%rip), %rdi      # 0x3169
movq %rbx, %rsi
movl %r13d, %edx
movq %rbx, %rcx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x1030
xorpd %xmm2, %xmm2
leaq 0x3670(%rip), %rcx      # 0x5200
jmp 0x1c55
movapd %xmm3, %xmm1
xorpd 0x147f(%rip), %xmm1     # 0x3020
ucomisd %xmm1, %xmm0
jne 0x1bc9
jp 0x1bc9
ucomisd %xmm2, %xmm0
jbe 0x1c28
callq 0x1cff
leaq 0x15c0(%rip), %rdi      # 0x317b
movq %rbx, %rsi
movl %r13d, %edx
movq %rbx, %rcx
movl %ebp, %r8d
jmp 0x1c43
ucomisd %xmm2, %xmm0
jne 0x1bd1
jnp 0x1bff
movapd %xmm3, (%rsp)
callq 0x1cff
leaq 0x15ab(%rip), %rdi      # 0x318d
movq %rbx, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x1030
movapd (%rsp), %xmm3
xorpd %xmm2, %xmm2
leaq 0x3601(%rip), %rcx      # 0x5200
ucomisd %xmm2, %xmm3
jne 0x1c07
jnp 0x1c55
movapd %xmm3, %xmm0
callq 0x1cff
leaq 0x1576(%rip), %rdi      # 0x318d
movq %rbx, %rsi
movl %ebp, %edx
xorl %eax, %eax
callq 0x1030
jmp 0x1b85
movapd %xmm3, %xmm0
callq 0x1cff
leaq 0x1543(%rip), %rdi      # 0x317b
movq %rbx, %rsi
movl %ebp, %edx
movq %rbx, %rcx
movl %r13d, %r8d
xorl %eax, %eax
callq 0x1030
leaq 0x35af(%rip), %rcx      # 0x5200
xorpd %xmm2, %xmm2
incq %r13
movl 0x3591(%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 0x1b3c
testb $0x1, %r12b
jne 0x1c9d
sarl %r12d
movslq %r12d, %rax
movsd (%rcx,%rax,8), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x1cac
jp 0x1cac
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x1cff
leaq 0x14d5(%rip), %rdi      # 0x318d
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