// File: /workspace/github_c_makefile_star2_O3/orangeduck[P]mpc/tests/regex.c
// Function: test_regex_dotall
void test_regex_dotall(void) {

  mpc_parser_t *re0 = mpc_re_mode("^.*$", MPC_RE_DEFAULT);
  mpc_parser_t *re1 = mpc_re_mode("^.*$", MPC_RE_DOTALL);

  PT_ASSERT(regex_test_pass(re0, "hello", "hello"));
  PT_ASSERT(regex_test_fail(re0, "hello\n", "hello"));
  PT_ASSERT(regex_test_fail(re0, "he\nllo\n", "he"));
  PT_ASSERT(regex_test_pass(re0, "34njaksdklmasd", "34njaksdklmasd"));
  PT_ASSERT(regex_test_fail(re0, "34njaksd\nklmasd", "34njaksd"));

  PT_ASSERT(regex_test_pass(re1, "hello", "hello"));
  PT_ASSERT(regex_test_pass(re1, "hello\n", "hello\n"));
  PT_ASSERT(regex_test_pass(re1, "he\nllo\n", "he\nllo\n"));
  PT_ASSERT(regex_test_pass(re1, "34njaksdklmasd", "34njaksdklmasd"));
  PT_ASSERT(regex_test_pass(re1, "34njaksd\nklmasd", "34njaksd\nklmasd"));

  mpc_delete(re0);
  mpc_delete(re1);

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
leaq 0xc757(%rip), %r14      # 0x11ab6
movq %r14, %rdi
xorl %esi, %esi
callq 0x915a
movq %rax, %rbx
movq %r14, %rdi
movl $0x2, %esi
callq 0x915a
movq %rax, (%rsp)
leaq 0xc5e8(%rip), %r15      # 0x1196c
leaq -0xb0d(%rip), %r12      # 0x487e
movq 0x12c36(%rip), %r13     # 0x17fc8
leaq -0xb0a(%rip), %r14      # 0x488f
movq %rbx, %rdi
movq %r15, %rsi
movq %r15, %rdx
movq %r12, %rcx
movq %r13, %r8
movq %r14, %r9
callq 0xa93d
leaq 0xc704(%rip), %rsi      # 0x11abb
leaq 0xbf9b(%rip), %rbp      # 0x11359
movl %eax, %edi
movq %rbp, %rdx
movl $0x9b, %ecx
callq 0x4094
leaq 0xc5d9(%rip), %rsi      # 0x119ad
movq %rbx, %rdi
movq %r15, %rdx
movq %r12, %rcx
movq %r12, %r15
movq %r13, %r8
movq %r13, %r12
movq %r14, %r9
movq %r14, %r13
callq 0xa8c1
leaq 0xc6ea(%rip), %rsi      # 0x11ae2
movl %eax, %edi
movq %rbp, %rdx
movl $0x9c, %ecx
callq 0x4094
leaq 0xc6fd(%rip), %rsi      # 0x11b0b
leaq 0xc493(%rip), %rdx      # 0x118a8
movq %rbx, %rdi
movq %rbx, %r14
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0xa8c1
leaq 0xc6e3(%rip), %rsi      # 0x11b13
movl %eax, %edi
movq %rbp, %rdx
movl $0x9d, %ecx
callq 0x4094
leaq 0xc6f5(%rip), %rdx      # 0x11b3b
movq %rbx, %rdi
movq %rdx, %rsi
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0xa93d
leaq 0xc6e9(%rip), %rsi      # 0x11b4a
movl %eax, %edi
movq %rbp, %rdx
movl $0x9e, %ecx
callq 0x4094
leaq 0xc70c(%rip), %rsi      # 0x11b83
leaq 0xc715(%rip), %rdx      # 0x11b93
movq %rbx, %rdi
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0xa8c1
leaq 0xc706(%rip), %rsi      # 0x11b9c
movl %eax, %edi
movq %rbp, %rdx
movl $0x9f, %ecx
callq 0x4094
movq (%rsp), %rbx
movq %rbx, %rdi
leaq 0xc4b9(%rip), %rdx      # 0x1196c
movq %rdx, %rsi
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0xa93d
leaq 0xc706(%rip), %rsi      # 0x11bd1
movl %eax, %edi
movq %rbp, %rdx
movl $0xa1, %ecx
callq 0x4094
movq %rbx, %rdi
leaq 0xc4c9(%rip), %rdx      # 0x119ad
movq %rdx, %rsi
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0xa93d
leaq 0xc6fc(%rip), %rsi      # 0x11bf8
movl %eax, %edi
movq %rbp, %rdx
movl $0xa2, %ecx
callq 0x4094
movq %rbx, %rdi
leaq 0xc5f6(%rip), %rdx      # 0x11b0b
movq %rdx, %rsi
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0xa93d
leaq 0xc6f6(%rip), %rsi      # 0x11c23
movl %eax, %edi
movq %rbp, %rdx
movl $0xa3, %ecx
callq 0x4094
movq %rbx, %rdi
leaq 0xc5f5(%rip), %rdx      # 0x11b3b
movq %rdx, %rsi
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0xa93d
leaq 0xc6f4(%rip), %rsi      # 0x11c52
movl %eax, %edi
movq %rbp, %rdx
movl $0xa4, %ecx
callq 0x4094
movq %rbx, %rdi
leaq 0xc60c(%rip), %rdx      # 0x11b83
movq %rdx, %rsi
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0xa93d
leaq 0xc6fc(%rip), %rsi      # 0x11c8b
movl %eax, %edi
movq %rbp, %rdx
movl $0xa5, %ecx
callq 0x4094
movq %r14, %rdi
callq 0x708b
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x708b