// File: /workspace/github_cpp_makefile_star2_O2/mororo18[P]simplex-method/src/model.cpp
// Function: Model::~Model()
Model::~Model(){

    type.clear();

    solution_primal.clear();
    solution_dual.clear();

    delete main_func;

    cstr_vec.clear();
    cstr_vec_new.clear();

    for(int i = 0; i < tableau.size(); i++){
        tableau[i].clear();
    }
    tableau.clear();
    for(int i = 0; i < solution_tableau.size(); i++){
        solution_tableau[i].clear();
    }
    solution_tableau.clear();

    solution_primal.clear();
    solution_primal_mod.clear();
    solution_dual.clear();
    solution_dual_mod.clear();

    b_opt.clear();
    b_range.clear();
    b_range_mod.clear();
    c_range.clear();
    c_range_mod.clear();
    I_index.clear();
    inverse_matrix.clear();

    original_coef.clear();
    basic_coef.clear();

    output_model.clear();
    output_model_mod.clear();
    output_solution.clear();
    output_solution_mod.clear();
    output_analysis.clear();
    output_analysis_mod.clear();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rdi, %rbx
andq $0x0, 0x10(%rdi)
movq 0x8(%rdi), %rax
movb $0x0, (%rax)
movq 0xb8(%rdi), %rax
cmpq %rax, 0xc0(%rdi)
je 0x459f
movq %rax, 0xc0(%rbx)
movq 0xe8(%rbx), %rax
cmpq %rax, 0xf0(%rbx)
je 0x45b6
movq %rax, 0xf0(%rbx)
movq 0x50(%rbx), %r14
testq %r14, %r14
je 0x45c7
movq %r14, %rdi
callq 0x3e7e
leaq 0x8(%rbx), %rax
movq %rax, 0x90(%rsp)
leaq 0xb8(%rbx), %rax
movq %rax, 0x78(%rsp)
leaq 0xe8(%rbx), %rax
movq %rax, 0x68(%rsp)
movq %r14, %rdi
callq 0x2180
leaq 0x58(%rbx), %rdi
movq %rdi, 0x88(%rsp)
callq 0x91b4
leaq 0x70(%rbx), %rdi
movq %rdi, 0x80(%rsp)
callq 0x91b4
leaq 0x88(%rbx), %rdi
movq 0x88(%rbx), %rcx
movq 0x90(%rbx), %rax
subq %rcx, %rax
pushq $0x18
popq %r14
cqto
idivq %r14
addq $0x8, %rcx
xorl %edx, %edx
cmpq %rdx, %rax
jbe 0x4656
movq -0x8(%rcx), %rsi
cmpq %rsi, (%rcx)
je 0x464d
movq %rsi, (%rcx)
incq %rdx
addq $0x18, %rcx
jmp 0x463c
movq %rdi, 0x70(%rsp)
callq 0x91bc
leaq 0xa0(%rbx), %rdi
movq 0xa0(%rbx), %rcx
movq 0xa8(%rbx), %rax
subq %rcx, %rax
cqto
idivq %r14
addq $0x8, %rcx
xorl %edx, %edx
cmpq %rdx, %rax
jbe 0x469d
movq -0x8(%rcx), %rsi
cmpq %rsi, (%rcx)
je 0x4694
movq %rsi, (%rcx)
incq %rdx
addq $0x18, %rcx
jmp 0x4683
movq %rdi, 0x60(%rsp)
callq 0x91bc
movq 0xb8(%rbx), %rax
cmpq %rax, 0xc0(%rbx)
je 0x46be
movq %rax, 0xc0(%rbx)
movq 0xd0(%rbx), %rax
cmpq %rax, 0xd8(%rbx)
je 0x46d5
movq %rax, 0xd8(%rbx)
movq 0xe8(%rbx), %rax
cmpq %rax, 0xf0(%rbx)
je 0x46ec
movq %rax, 0xf0(%rbx)
movq 0x100(%rbx), %rax
cmpq %rax, 0x108(%rbx)
je 0x4703
movq %rax, 0x108(%rbx)
movq 0x118(%rbx), %rax
cmpq %rax, 0x120(%rbx)
je 0x471a
movq %rax, 0x120(%rbx)
movq 0x130(%rbx), %rax
cmpq %rax, 0x138(%rbx)
je 0x4731
movq %rax, 0x138(%rbx)
movq 0x148(%rbx), %rax
cmpq %rax, 0x150(%rbx)
je 0x4748
movq %rax, 0x150(%rbx)
movq 0x160(%rbx), %rax
cmpq %rax, 0x168(%rbx)
je 0x475f
movq %rax, 0x168(%rbx)
movq 0x178(%rbx), %rax
cmpq %rax, 0x180(%rbx)
je 0x4776
movq %rax, 0x180(%rbx)
movq 0x190(%rbx), %rax
cmpq %rax, 0x198(%rbx)
je 0x478d
movq %rax, 0x198(%rbx)
leaq 0x1a8(%rbx), %rdi
movq %rdi, 0x30(%rsp)
callq 0x91bc
movq 0x1c0(%rbx), %rax
cmpq %rax, 0x1c8(%rbx)
je 0x47b5
movq %rax, 0x1c8(%rbx)
leaq 0xd0(%rbx), %rax
movq %rax, 0x58(%rsp)
leaq 0x100(%rbx), %rax
movq %rax, 0x50(%rsp)
leaq 0x118(%rbx), %rax
movq %rax, 0x48(%rsp)
leaq 0x130(%rbx), %rax
movq %rax, 0x40(%rsp)
leaq 0x148(%rbx), %rax
movq %rax, 0x38(%rsp)
leaq 0x160(%rbx), %rax
movq %rax, 0x28(%rsp)
leaq 0x178(%rbx), %rax
movq %rax, 0x20(%rsp)
leaq 0x190(%rbx), %rax
movq %rax, 0x18(%rsp)
leaq 0x1c0(%rbx), %rax
movq %rax, 0x10(%rsp)
leaq 0x1d8(%rbx), %rax
movq %rax, 0x8(%rsp)
movq 0x1d8(%rbx), %rax
cmpq %rax, 0x1e0(%rbx)
je 0x4844
movq %rax, 0x1e0(%rbx)
andq $0x0, 0x1f8(%rbx)
movq 0x1f0(%rbx), %rax
xorl %ecx, %ecx
movb %cl, (%rax)
andq $0x0, 0x218(%rbx)
leaq 0x1f0(%rbx), %r15
leaq 0x210(%rbx), %r13
movq 0x210(%rbx), %rax
movb %cl, (%rax)
andq $0x0, 0x238(%rbx)
movq 0x230(%rbx), %rax
movb %cl, (%rax)
andq $0x0, 0x258(%rbx)
leaq 0x230(%rbx), %r12
leaq 0x250(%rbx), %r14
movq 0x250(%rbx), %rax
movb %cl, (%rax)
andq $0x0, 0x278(%rbx)
movq 0x270(%rbx), %rax
movb %cl, (%rax)
andq $0x0, 0x298(%rbx)
leaq 0x270(%rbx), %rbp
leaq 0x290(%rbx), %rdi
movq 0x290(%rbx), %rax
movb %cl, (%rax)
callq 0x20e0
movq %rbp, %rdi
callq 0x20e0
movq %r14, %rdi
callq 0x20e0
movq %r12, %rdi
callq 0x20e0
movq %r13, %rdi
callq 0x20e0
movq %r15, %rdi
callq 0x20e0
movq 0x8(%rsp), %rdi
callq 0x415a
movq 0x10(%rsp), %rdi
callq 0x415a
movq 0x30(%rsp), %rdi
callq 0x91c4
movq 0x18(%rsp), %rdi
callq 0x4226
movq 0x20(%rsp), %rdi
callq 0x9b40
movq 0x28(%rsp), %rdi
callq 0x9b40
movq 0x38(%rsp), %rdi
callq 0x9b40
movq 0x40(%rsp), %rdi
callq 0x9b40
movq 0x48(%rsp), %rdi
callq 0x415a
movq 0x50(%rsp), %rdi
callq 0x415a
movq 0x68(%rsp), %rdi
callq 0x415a
movq 0x58(%rsp), %rdi
callq 0x415a
movq 0x78(%rsp), %rdi
callq 0x415a
movq 0x60(%rsp), %rdi
callq 0x91c4
movq 0x70(%rsp), %rdi
callq 0x91c4
movq 0x80(%rsp), %rdi
callq 0x91e6
movq 0x88(%rsp), %rdi
callq 0x91e6
movq 0x90(%rsp), %rdi
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x20e0
nop