// File: /workspace/github_c_makefile_star2_O0/randyrossi[P]fisher-modem/mkfilter/src/mkfilter.C
// Function: expandpoly()
static void expandpoly() /* given Z-plane poles & zeros, compute top & bot
                            polynomials in Z, and then recurrence relation */
{
  complex topcoeffs[MAXPZ + 1], botcoeffs[MAXPZ + 1];
  int i;
  expand(zplane.zeros, zplane.numzeros, topcoeffs);
  expand(zplane.poles, zplane.numpoles, botcoeffs);
  dc_gain =
      evaluate(topcoeffs, zplane.numzeros, botcoeffs, zplane.numpoles, 1.0);
  double theta =
      TWOPI * 0.5 * (raw_alpha1 + raw_alpha2); /* "jwT" for centre freq. */
  fc_gain = evaluate(topcoeffs, zplane.numzeros, botcoeffs, zplane.numpoles,
                     expj(theta));
  hf_gain =
      evaluate(topcoeffs, zplane.numzeros, botcoeffs, zplane.numpoles, -1.0);
  for (i = 0; i <= zplane.numzeros; i++)
    xcoeffs[i] = +(topcoeffs[i].re / botcoeffs[zplane.numpoles].re);
  for (i = 0; i <= zplane.numpoles; i++)
    ycoeffs[i] = -(botcoeffs[i].re / botcoeffs[zplane.numpoles].re);
}

// Assembly:
subq $0x4128, %rsp           # imm = 0x4128
leaq 0x2110(%rsp), %rax
movq %rax, %rcx
addq $0x2010, %rcx           # imm = 0x2010
movq %rcx, 0x80(%rsp)
movq %rax, 0x88(%rsp)
movq 0x88(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x4e90
movq 0x78(%rsp), %rax
movq 0x80(%rsp), %rcx
addq $0x10, %rax
cmpq %rcx, %rax
movq %rax, 0x88(%rsp)
jne 0x3729
leaq 0x100(%rsp), %rax
movq %rax, %rcx
addq $0x2010, %rcx           # imm = 0x2010
movq %rcx, 0x68(%rsp)
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x4e90
movq 0x60(%rsp), %rax
movq 0x68(%rsp), %rcx
addq $0x10, %rax
cmpq %rcx, %rax
movq %rax, 0x70(%rsp)
jne 0x3775
movl 0xdb4a(%rip), %esi      # 0x112ec
leaq 0x2110(%rsp), %rdx
leaq 0x9b37(%rip), %rdi      # 0xd2e8
addq $0x2000, %rdi           # imm = 0x2000
callq 0x43e0
movl 0xdb25(%rip), %esi      # 0x112e8
leaq 0x100(%rsp), %rdx
leaq 0x9b16(%rip), %rdi      # 0xd2e8
callq 0x43e0
leaq 0x2110(%rsp), %rax
movq %rax, (%rsp)
movl 0xdb03(%rip), %eax      # 0x112ec
movl %eax, 0xc(%rsp)
leaq 0x100(%rsp), %rax
movq %rax, 0x10(%rsp)
movl 0xdae8(%rip), %eax      # 0x112e8
movl %eax, 0x1c(%rsp)
leaq 0xd8(%rsp), %rdi
movsd 0x280c(%rip), %xmm0     # 0x6020
xorps %xmm1, %xmm1
callq 0x4ea0
movq (%rsp), %rdi
movl 0xc(%rsp), %esi
movq 0x10(%rsp), %rdx
movl 0x1c(%rsp), %ecx
movsd 0xd8(%rsp), %xmm0
movsd 0xe0(%rsp), %xmm1
callq 0x5330
movsd %xmm0, 0xe8(%rsp)
movsd %xmm1, 0xf0(%rsp)
movq 0xe8(%rsp), %rax
movq %rax, 0xda8b(%rip)      # 0x112f0
movq 0xf0(%rsp), %rax
movq %rax, 0xda84(%rip)      # 0x112f8
movsd 0xdac4(%rip), %xmm1     # 0x11340
addsd 0xdac4(%rip), %xmm1     # 0x11348
movsd 0x279c(%rip), %xmm0     # 0x6028
mulsd %xmm1, %xmm0
movsd %xmm0, 0xd0(%rsp)
leaq 0x2110(%rsp), %rax
movq %rax, 0x20(%rsp)
movl 0xda40(%rip), %eax      # 0x112ec
movl %eax, 0x2c(%rsp)
leaq 0x100(%rsp), %rax
movq %rax, 0x30(%rsp)
movl 0xda25(%rip), %eax      # 0x112e8
movl %eax, 0x3c(%rsp)
movsd 0xd0(%rsp), %xmm0
callq 0x5750
movq 0x20(%rsp), %rdi
movl 0x2c(%rsp), %esi
movq 0x30(%rsp), %rdx
movl 0x3c(%rsp), %ecx
movsd %xmm0, 0xb0(%rsp)
movsd %xmm1, 0xb8(%rsp)
movsd 0xb0(%rsp), %xmm0
movsd 0xb8(%rsp), %xmm1
callq 0x5330
movsd %xmm0, 0xc0(%rsp)
movsd %xmm1, 0xc8(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0xd9cf(%rip)      # 0x11300
movq 0xc8(%rsp), %rax
movq %rax, 0xd9c8(%rip)      # 0x11308
leaq 0x2110(%rsp), %rax
movq %rax, 0x40(%rsp)
movl 0xd999(%rip), %eax      # 0x112ec
movl %eax, 0x4c(%rsp)
leaq 0x100(%rsp), %rax
movq %rax, 0x50(%rsp)
movl 0xd97e(%rip), %eax      # 0x112e8
movl %eax, 0x5c(%rsp)
leaq 0x90(%rsp), %rdi
movsd 0x269a(%rip), %xmm0     # 0x6018
xorps %xmm1, %xmm1
callq 0x4ea0
movq 0x40(%rsp), %rdi
movl 0x4c(%rsp), %esi
movq 0x50(%rsp), %rdx
movl 0x5c(%rsp), %ecx
movsd 0x90(%rsp), %xmm0
movsd 0x98(%rsp), %xmm1
callq 0x5330
movsd %xmm0, 0xa0(%rsp)
movsd %xmm1, 0xa8(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0xd940(%rip)      # 0x11310
movq 0xa8(%rsp), %rax
movq %rax, 0xd939(%rip)      # 0x11318
movl $0x0, 0xfc(%rsp)
movl 0xfc(%rsp), %eax
cmpl 0xd8f5(%rip), %eax      # 0x112ec
jg 0x3a55
movslq 0xfc(%rsp), %rcx
leaq 0x2110(%rsp), %rax
shlq $0x4, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
movslq 0xd8cd(%rip), %rcx      # 0x112e8
leaq 0x100(%rsp), %rax
shlq $0x4, %rcx
addq %rcx, %rax
divsd (%rax), %xmm0
movslq 0xfc(%rsp), %rcx
leaq 0xd943(%rip), %rax      # 0x11380
movsd %xmm0, (%rax,%rcx,8)
movl 0xfc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xfc(%rsp)
jmp 0x39ea
movl $0x0, 0xfc(%rsp)
movl 0xfc(%rsp), %eax
cmpl 0xd87b(%rip), %eax      # 0x112e8
jg 0x3ae5
movslq 0xfc(%rsp), %rcx
leaq 0x100(%rsp), %rax
shlq $0x4, %rcx
addq %rcx, %rax
movsd (%rax), %xmm0
movslq 0xd857(%rip), %rcx      # 0x112e8
leaq 0x100(%rsp), %rax
shlq $0x4, %rcx
addq %rcx, %rax
divsd (%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movslq 0xfc(%rsp), %rcx
leaq 0xe8c6(%rip), %rax      # 0x12390
movsd %xmm0, (%rax,%rcx,8)
movl 0xfc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xfc(%rsp)
jmp 0x3a60
addq $0x4128, %rsp           # imm = 0x4128
retq
nopl (%rax)