// File: /workspace/github_cpp_makefile_star2_O1/chhylp123[P]hifiasm/inter.cpp
// Function: gen_contig_trans(ug_opt_t const*, asg_t*, ma_ug_t*, scaf_res_t*, ma_ug_t*, scaf_res_t*, ma_ug_t*, kv_u_trans_t*, unsigned int, unsigned int, bubble_type*, kv_u_trans_t*)
void gen_contig_trans(const ug_opt_t *uopt, asg_t *sg, ma_ug_t *qry, scaf_res_t *qry_sc, ma_ug_t *ref, scaf_res_t *ref_sc, ma_ug_t *gfa, kv_u_trans_t *ta, uint32_t qoff, uint32_t toff, bubble_type *bu, kv_u_trans_t *res)
{
	mg_idxopt_t opt; uldat_t sl; int32_t cutoff; 
	init_aux_table(); ha_opt_update_cov(&asm_opt, asm_opt.hom_cov);
	cutoff = asm_opt.max_n_chain;
	init_mg_opt(&opt, !(asm_opt.flag&HA_F_NO_HPC), 19, 10, cutoff, asm_opt.max_n_chain, asm_opt.ul_error_rate, asm_opt.ul_error_rate, asm_opt.ul_error_rate_low, asm_opt.ul_error_rate_hpc, asm_opt.ul_ec_round);
	ul_idx_t *uu = gen_ul_idx_t_sc(ref, sg, ref_sc, gfa->u.n);
	init_uldat_t(&sl, NULL, NULL, &opt, CHUNK_SIZE, asm_opt.thread_num, uopt, uu); sl.rg = sg; sl.ug = qry;

	work_ctg_path_trans(&sl, sg, qry, qry_sc, ref, ref_sc, gfa, ta, qoff, toff, bu, res); uu->ug = NULL;
	destroy_ul_idx_t(uu);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1c8, %rsp            # imm = 0x1C8
movq %r9, %r14
movq %r8, %r12
movq %r8, 0x38(%rsp)
movq %rcx, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movq %rsi, %rbp
movq %rdi, 0x40(%rsp)
movq 0x200(%rsp), %r13
callq 0x3366f
leaq 0x261e7e(%rip), %r15    # 0x28a758
movl 0xd0(%r15), %esi
movq %r15, %rdi
callq 0x2f59
movl (%r15), %eax
movl 0xe8(%r15), %ecx
notl %eax
andl $0x1, %eax
movsd 0x228(%r15), %xmm0
movups 0x230(%r15), %xmm1
movl 0x240(%r15), %edx
movabsq $0x130000000a, %rsi     # imm = 0x130000000A
leaq 0x58(%rsp), %rbx
movq %rsi, (%rbx)
movl %ecx, 0x14(%rbx)
movl %eax, 0x10(%rbx)
movabsq $0x7a12000002710, %rax  # imm = 0x7A12000002710
movq %rax, 0x8(%rbx)
movabsq $0x271000000014, %rax   # imm = 0x271000000014
movq %rax, 0x18(%rbx)
movabsq $0x3f0000003e428f5c, %rax # imm = 0x3F0000003E428F5C
movq %rax, 0x50(%rbx)
movabsq $0x271000000019, %rax   # imm = 0x271000000019
movq %rax, 0x28(%rbx)
movaps 0x20aed9(%rip), %xmm2   # 0x233840
movups %xmm2, 0x30(%rbx)
movabsq $0xb00000005, %rax      # imm = 0xB00000005
movq %rax, 0x20(%rbx)
movaps 0x20aed0(%rip), %xmm2   # 0x233850
movups %xmm2, 0x40(%rbx)
movl $0x3f4ccccd, 0x58(%rbx) # imm = 0x3F4CCCCD
movl %ecx, 0x80(%rbx)
movsd %xmm0, 0x60(%rbx)
movsd %xmm0, 0x68(%rbx)
movups %xmm1, 0x70(%rbx)
movl %edx, 0x84(%rbx)
movq (%r13), %rcx
movq %r12, %rdi
movq %rbp, %rsi
movq %rbp, %r13
movq %r14, %rdx
movq %r14, %r12
callq 0x1dbc68
movq %rax, %rbp
movslq 0x7c(%r15), %r14
leaq 0xe0(%rsp), %r15
movl $0xe8, %edx
movq %r15, %rdi
xorl %esi, %esi
callq 0x20e0
movq %rbx, 0x10(%r15)
movq $0x3b9aca00, 0x50(%r15) # imm = 0x3B9ACA00
movq %r14, 0x58(%r15)
movq %rbp, 0x30(%r15)
movq 0x40(%rsp), %rax
movq %rax, 0x28(%r15)
movq %r13, 0x20(%r15)
movq 0x48(%rsp), %rdx
movq %rdx, 0x18(%r15)
movaps 0x220(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movl 0x218(%rsp), %eax
movl %eax, 0x18(%rsp)
movl 0x210(%rsp), %eax
movl %eax, 0x10(%rsp)
movq 0x208(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x200(%rsp), %rax
movq %rax, (%rsp)
movq %r15, %rdi
movq 0x50(%rsp), %rcx
movq 0x38(%rsp), %r8
movq %r12, %r9
callq 0x25908
andq $0x0, (%rbp)
movq %rbp, %rdi
callq 0x1dbcbe
addq $0x1c8, %rsp            # imm = 0x1C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq