// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_eval.c
// Function: gt_eval_runner
int gt_eval_runner(GT_UNUSED int argc, const char **argv, int parsed_args,
                   void *tool_arguments, GtError *err)
{
  EvalArguments *arguments = tool_arguments;
  GtNodeStream *reference_stream,
               *prediction_stream;
  GtStreamEvaluator *evaluator;
  int had_err;

  gt_error_check(err);
  gt_assert(arguments);

  /* create the reference stream */
  reference_stream = gt_gff3_in_stream_new_sorted(argv[parsed_args]);
  if (arguments->verbose)
    gt_gff3_in_stream_show_progress_bar((GtGFF3InStream*) reference_stream);

  /* create the prediction stream */
  prediction_stream = gt_gff3_in_stream_new_sorted(argv[parsed_args + 1]);
  if (arguments->verbose)
    gt_gff3_in_stream_show_progress_bar((GtGFF3InStream*) prediction_stream);

  /* create the stream evaluator */
  evaluator = gt_stream_evaluator_new(reference_stream, prediction_stream,
                                      arguments->nuceval, arguments->evalLTR,
                                      arguments->LTRdelta);

  /* compute the evaluation */
  had_err = gt_stream_evaluator_evaluate(evaluator, arguments->verbose,
                                         arguments->exondiff,
                                         arguments->exondiffcollapsed, NULL,
                                         err);

  /* show the evaluation */
  if (!had_err)
    gt_stream_evaluator_show(evaluator, arguments->outfp);

  /* free */
  gt_stream_evaluator_delete(evaluator);
  gt_node_stream_delete(prediction_stream);
  gt_node_stream_delete(reference_stream);

  return had_err;
}

// Assembly:
subq $0x58, %rsp
movl %edi, 0x54(%rsp)
movq %rsi, 0x48(%rsp)
movl %edx, 0x44(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x34285
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x3424d
jmp 0x34285
movq 0x607d4c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4e1db5(%rip), %rsi    # 0x516013
leaq 0x4e1f5a(%rip), %rdx    # 0x5161bf
leaq 0x4e8e5a(%rip), %rcx    # 0x51d0c6
leaq 0x4e8e62(%rip), %r8     # 0x51d0d5
movl $0x80, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x34287
jmp 0x34289
cmpq $0x0, 0x28(%rsp)
jne 0x342c9
movq 0x607d08(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4e1d71(%rip), %rsi    # 0x516013
leaq 0x5468b6(%rip), %rdx    # 0x57ab5f
leaq 0x4e8e16(%rip), %rcx    # 0x51d0c6
leaq 0x4e8e1e(%rip), %r8     # 0x51d0d5
movl $0x81, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x342cb
movq 0x48(%rsp), %rax
movslq 0x44(%rsp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1747b0
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
testb $0x1, (%rax)
je 0x342f7
movq 0x20(%rsp), %rdi
callq 0x1741e0
movq 0x48(%rsp), %rax
movl 0x44(%rsp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x1747b0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
testb $0x1, (%rax)
je 0x34328
movq 0x18(%rsp), %rdi
callq 0x1741e0
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rax
movb 0x3(%rax), %cl
movq 0x28(%rsp), %rax
movb 0x4(%rax), %al
movq 0x28(%rsp), %rdx
movq 0x8(%rdx), %r8
andb $0x1, %cl
andb $0x1, %al
movzbl %cl, %edx
movzbl %al, %ecx
callq 0x1e3c80
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x28(%rsp), %rax
movb (%rax), %dl
movq 0x28(%rsp), %rax
movb 0x1(%rax), %cl
movq 0x28(%rsp), %rax
movb 0x2(%rax), %al
movq 0x30(%rsp), %r9
xorl %esi, %esi
movl %esi, %r8d
andb $0x1, %dl
andb $0x1, %cl
andb $0x1, %al
movzbl %dl, %esi
movzbl %cl, %edx
movzbl %al, %ecx
callq 0x1e42c0
movl %eax, 0xc(%rsp)
cmpl $0x0, 0xc(%rsp)
jne 0x343ba
movq 0x10(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rsi
callq 0x1e7550
movq 0x10(%rsp), %rdi
callq 0x1e7e10
movq 0x18(%rsp), %rdi
callq 0x1b1cb0
movq 0x20(%rsp), %rdi
callq 0x1b1cb0
movl 0xc(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)