// File: /workspace/github_cpp_makefile_star2_O2/pfnet-research[P]pml/src/test.cpp
// Function: test::run(int, char const**)
void test::run(int, const char**) {
    std::cerr << "\033[32m    <<<< language feature test >>>> \033[39m" << std::endl;
    arith_test{};
    formula_test{};
    let_test{};
    letfun_test{};
    if_test{};
    rand_test{};
    typed_test{};

    std::cerr << "\033[32m    <<<< MDP transion test >>>> \033[39m" << std::endl;
    translation_test{};
    translation_rand_test{};

    std::cerr << "\033[32m    <<<< parsing test >>>> \033[39m" << std::endl;
    parsing_formula_test{};
    parsing_term_test{};
    parsing_reftype_test{};
    parsing_deptype_test{};

    std::cerr << "\033[32m    <<<< subst test >>>> \033[39m" << std::endl;
    subst_term_test{};
    subst_formula_test{};

    std::cerr << "\033[32m    <<<< simple typing test >>>> \033[39m" << std::endl;
    simple_type_arith{};
    simple_type_logical{};
    simple_type_let{};
    simple_type_rand{};

    std::cerr << "\033[32m    <<<< typecheck test >>>> \033[39m" << std::endl;
    typecheck_test{};
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq 0x381e7(%rip), %rbx     # 0x5bfe8
leaq 0x18208(%rip), %rsi     # 0x3c010
movq %rbx, %rdi
callq 0x92d0
movq %rax, %rdi
callq 0x9140
leaq 0x138(%rsp), %r14
movq %r14, %rdi
callq 0x245e2
movq %r14, %rdi
callq 0x24a8a
leaq 0x128(%rsp), %r14
movq %r14, %rdi
callq 0x24b1a
movq %r14, %rdi
callq 0x251ea
leaq 0x118(%rsp), %r14
movq %r14, %rdi
callq 0x2527a
movq %r14, %rdi
callq 0x2551c
leaq 0x108(%rsp), %r14
movq %r14, %rdi
callq 0x255ac
movq %r14, %rdi
callq 0x25c08
leaq 0xf8(%rsp), %r14
movq %r14, %rdi
callq 0x25c98
movq %r14, %rdi
callq 0x260a4
leaq 0xe8(%rsp), %r14
movq %r14, %rdi
callq 0x26134
movq %r14, %rdi
callq 0x26470
leaq 0xd8(%rsp), %r14
movq %r14, %rdi
callq 0x26500
movq %r14, %rdi
callq 0x26592
leaq 0x18178(%rip), %rsi     # 0x3c03f
movq %rbx, %rdi
callq 0x92d0
movq %rax, %rdi
callq 0x9140
leaq 0xc8(%rsp), %r14
movq %r14, %rdi
callq 0x26622
movq %r14, %rdi
callq 0x2678c
leaq 0xb8(%rsp), %r14
movq %r14, %rdi
callq 0x2681c
movq %r14, %rdi
callq 0x2739e
leaq 0x1815c(%rip), %rsi     # 0x3c06a
movq %rbx, %rdi
callq 0x92d0
movq %rax, %rdi
callq 0x9140
leaq 0xa8(%rsp), %r14
movq %r14, %rdi
callq 0x2742e
movq %r14, %rdi
callq 0x274e0
leaq 0x98(%rsp), %r14
movq %r14, %rdi
callq 0x27570
movq %r14, %rdi
callq 0x27622
leaq 0x88(%rsp), %r14
movq %r14, %rdi
callq 0x276b2
movq %r14, %rdi
callq 0x278b2
leaq 0x78(%rsp), %r14
movq %r14, %rdi
callq 0x27942
movq %r14, %rdi
callq 0x27ab8
leaq 0x1810e(%rip), %rsi     # 0x3c090
movq %rbx, %rdi
callq 0x92d0
movq %rax, %rdi
callq 0x9140
leaq 0x68(%rsp), %r14
movq %r14, %rdi
callq 0x27b48
movq %r14, %rdi
callq 0x27d4e
leaq 0x58(%rsp), %r14
movq %r14, %rdi
callq 0x27dde
movq %r14, %rdi
callq 0x28326
leaq 0x180f1(%rip), %rsi     # 0x3c0b4
movq %rbx, %rdi
callq 0x92d0
movq %rax, %rdi
callq 0x9140
leaq 0x48(%rsp), %r14
movq %r14, %rdi
callq 0x283b6
movq %r14, %rdi
callq 0x288da
leaq 0x38(%rsp), %r14
movq %r14, %rdi
callq 0x2896a
movq %r14, %rdi
callq 0x28e6e
leaq 0x28(%rsp), %r14
movq %r14, %rdi
callq 0x28efe
movq %r14, %rdi
callq 0x291ce
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x2925e
movq %r14, %rdi
callq 0x292ec
leaq 0x180b2(%rip), %rsi     # 0x3c0e0
movq %rbx, %rdi
callq 0x92d0
movq %rax, %rdi
callq 0x9140
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x2937c
movq %rbx, %rdi
callq 0x297aa
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r14
retq