// File: /workspace/github_cpp_makefile_star2_O2/wrighteagle2d[P]wrighteaglebase/Debug/../src/NetworkTest.cpp
// Function: StatisticUnit::PrintCommond(_IO_FILE*)
void StatisticUnit::PrintCommond(FILE *fp) {
  if (fp == 0) {
    return;
  }

  int miss = 0;
  double missrate = 0.0;

  fprintf(fp, "Command        Send      Execute   Lost      Miss rate\n");
  miss = CMDSend.Dashs - CMDExecute.Dashs;
  missrate = 0.0;
  if (CMDSend.Dashs != 0) {
    missrate = (double)miss / CMDSend.Dashs;
  }
  fprintf(fp, "dash           %-10d%-10d%-10d%1.9f\n", CMDSend.Dashs,
          CMDExecute.Dashs, miss, missrate);

  miss = CMDSend.Turns - CMDExecute.Turns;
  missrate = 0.0;
  if (CMDSend.Turns != 0) {
    missrate = (double)miss / CMDSend.Turns;
  }
  fprintf(fp, "turn           %-10d%-10d%-10d%1.9f\n", CMDSend.Turns,
          CMDExecute.Turns, miss, missrate);

  miss = CMDSend.Kicks - CMDExecute.Kicks;
  missrate = 0.0;
  if (CMDSend.Kicks != 0) {
    missrate = (double)miss / CMDSend.Kicks;
  }
  fprintf(fp, "kick           %-10d%-10d%-10d%1.9f\n", CMDSend.Kicks,
          CMDExecute.Kicks, miss, missrate);

  miss = CMDSend.Says - CMDExecute.Says;
  missrate = 0.0;
  if (CMDSend.Says != 0) {
    missrate = (double)miss / CMDSend.Says;
  }
  fprintf(fp, "say            %-10d%-10d%-10d%1.9f\n", CMDSend.Says,
          CMDExecute.Says, miss, missrate);

  miss = CMDSend.TurnNecks - CMDExecute.TurnNecks;
  missrate = 0.0;
  if (CMDSend.TurnNecks != 0) {
    missrate = (double)miss / CMDSend.TurnNecks;
  }
  fprintf(fp, "turn_neck      %-10d%-10d%-10d%1.9f\n", CMDSend.TurnNecks,
          CMDExecute.TurnNecks, miss, missrate);

  miss = CMDSend.Catchs - CMDExecute.Catchs;
  missrate = 0.0;
  if (CMDSend.Catchs != 0) {
    missrate = (double)miss / CMDSend.Catchs;
  }
  fprintf(fp, "catch          %-10d%-10d%-10d%1.9f\n", CMDSend.Catchs,
          CMDExecute.Catchs, miss, missrate);

  miss = CMDSend.Moves - CMDExecute.Moves;
  missrate = 0.0;
  if (CMDSend.Moves != 0) {
    missrate = (double)miss / CMDSend.Moves;
  }
  fprintf(fp, "move           %-10d%-10d%-10d%1.9f\n", CMDSend.Moves,
          CMDExecute.Moves, miss, missrate);

  miss = CMDSend.ChangeViews - CMDExecute.ChangeViews;
  missrate = 0.0;
  if (CMDSend.ChangeViews != 0) {
    missrate = (double)miss / CMDSend.ChangeViews;
  }
  fprintf(fp, "change_view    %-10d%-10d%-10d%1.9f\n", CMDSend.ChangeViews,
          CMDExecute.ChangeViews, miss, missrate);

  miss = CMDSend.Tackles - CMDExecute.Tackles;
  missrate = 0.0;
  if (CMDSend.Tackles != 0) {
    missrate = (double)miss / CMDSend.Tackles;
  }
  fprintf(fp, "tackle         %-10d%-10d%-10d%1.9f\n", CMDSend.Tackles,
          CMDExecute.Tackles, miss, missrate);

  miss = CMDSend.Pointtos - CMDExecute.Pointtos;
  missrate = 0.0;
  if (CMDSend.Pointtos != 0) {
    missrate = (double)miss / CMDSend.Pointtos;
  }
  fprintf(fp, "pointto        %-10d%-10d%-10d%1.9f\n", CMDSend.Pointtos,
          CMDExecute.Pointtos, miss, missrate);

  miss = CMDSend.Attentiontos - CMDExecute.Attentiontos;
  missrate = 0.0;
  if (CMDSend.Attentiontos != 0) {
    missrate = (double)miss / CMDSend.Attentiontos;
  }
  fprintf(fp, "attentionto    %-10d%-10d%-10d%1.9f\n", CMDSend.Attentiontos,
          CMDExecute.Attentiontos, miss, missrate);
}

// Assembly:
testq %rsi, %rsi
je 0x2f9fd
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x29564(%rip), %rdi     # 0x58cef
pushq $0x37
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x9990
movl 0x5c(%r14), %edx
movl 0x88(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f7bf
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x29561(%rip), %rsi     # 0x58d27
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x60(%r14), %edx
movl 0x8c(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f7f6
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x2954f(%rip), %rsi     # 0x58d4c
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x58(%r14), %edx
movl 0x84(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f82d
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x2953d(%rip), %rsi     # 0x58d71
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x64(%r14), %edx
movl 0x90(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f864
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x2952b(%rip), %rsi     # 0x58d96
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x68(%r14), %edx
movl 0x94(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f89b
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x29519(%rip), %rsi     # 0x58dbb
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x6c(%r14), %edx
movl 0x98(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f8d2
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x29507(%rip), %rsi     # 0x58de0
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x70(%r14), %edx
movl 0x9c(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f909
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x294f5(%rip), %rsi     # 0x58e05
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x74(%r14), %edx
movl 0xa0(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f940
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x294e3(%rip), %rsi     # 0x58e2a
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x80(%r14), %edx
movl 0xac(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f97a
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x294ce(%rip), %rsi     # 0x58e4f
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x78(%r14), %edx
movl 0xa4(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x2f9b1
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x294bc(%rip), %rsi     # 0x58e74
movq %rbx, %rdi
movb $0x1, %al
callq 0x96f0
movl 0x7c(%r14), %edx
movl 0xa8(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
testl %edx, %edx
xorpd %xmm0, %xmm0
je 0x2f9e8
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x294aa(%rip), %rsi     # 0x58e99
movq %rbx, %rdi
movb $0x1, %al
popq %rbx
popq %r14
popq %rbp
jmp 0x96f0
retq