// File: /workspace/github_cpp_makefile_star2_O3/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 0x37ec8
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x33110(%rip), %rdi     # 0x6ad23
movl $0x37, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x99a0
movl 0x5c(%r14), %edx
movl 0x88(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37c4e
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x33106(%rip), %rsi     # 0x6ad5b
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x60(%r14), %edx
movl 0x8c(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37c8b
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x330ee(%rip), %rsi     # 0x6ad80
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x58(%r14), %edx
movl 0x84(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37cc8
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x330d6(%rip), %rsi     # 0x6ada5
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x64(%r14), %edx
movl 0x90(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37d05
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x330be(%rip), %rsi     # 0x6adca
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x68(%r14), %edx
movl 0x94(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37d42
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x330a6(%rip), %rsi     # 0x6adef
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x6c(%r14), %edx
movl 0x98(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37d7f
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x3308e(%rip), %rsi     # 0x6ae14
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x70(%r14), %edx
movl 0x9c(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37dbc
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x33076(%rip), %rsi     # 0x6ae39
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x74(%r14), %edx
movl 0xa0(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37df9
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x3305e(%rip), %rsi     # 0x6ae5e
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x80(%r14), %edx
movl 0xac(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37e39
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x33043(%rip), %rsi     # 0x6ae83
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x78(%r14), %edx
movl 0xa4(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
xorpd %xmm0, %xmm0
testl %edx, %edx
je 0x37e76
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x3302b(%rip), %rsi     # 0x6aea8
movq %rbx, %rdi
movb $0x1, %al
callq 0x96d0
movl 0x7c(%r14), %edx
movl 0xa8(%r14), %ecx
movl %edx, %r8d
subl %ecx, %r8d
testl %edx, %edx
xorpd %xmm0, %xmm0
je 0x37eb3
xorps %xmm0, %xmm0
cvtsi2sd %r8d, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %edx, %xmm1
divsd %xmm1, %xmm0
leaq 0x33013(%rip), %rsi     # 0x6aecd
movq %rbx, %rdi
movb $0x1, %al
popq %rbx
popq %r14
popq %rbp
jmp 0x96d0
retq
nop