// File: /workspace/github_cpp_makefile_star2_O3/ctSkennerton[P]fxtract/util/uri_t.c
// Function: main
int
main(void)
{
    plan_tests(13/*tests*/ * 7/*parts*/);

    MEMREF x = NILREF;
    MEMREF s = strref("http");
    MEMREF a = strref("user:pass");
    MEMREF h = strref("sophos.com");
    MEMREF n = strref("443");
    MEMREF p = strref("home/depot");
    MEMREF q = strref("NaN:=0/0");
    MEMREF f = strref("top");

#   undef  TRY
#   define TRY(a1,a2,a3,a4,a5,a6,a7,a8) try(__LINE__,a1,a2,a3,a4,a5,a6,a7,a8)
    TRY("http://sophos.com:443/home/depot?NaN:=0/0#top"         ,s,x,h,n,p,q,f);
    TRY("//user:pass@sophos.com:443/home/depot?NaN:=0/0#top"    ,x,a,h,n,p,q,f);
    TRY("//sophos.com:443/home/depot?NaN:=0/0#top"              ,x,x,h,n,p,q,f);
    TRY(":443/home/depot?NaN:=0/0#top"                          ,x,x,x,n,p,q,f);
    TRY("/home/depot?NaN:=0/0#top"                              ,x,x,x,x,p,q,f);
    TRY("?NaN:=0/0#top"                                         ,x,x,x,x,x,q,f);
    TRY("/home/depot?NaN:=0/0"                                  ,x,x,x,x,p,q,x);
    TRY("/home/depot#top"                                       ,x,x,x,x,p,x,f);
    TRY("/home/depot"                                           ,x,x,x,x,p,x,x);
    TRY("sophos.com"                                            ,x,x,h,x,x,x,x);
    TRY("sophos.com:443"                                        ,x,x,h,n,x,x,x);
    TRY("sophos.com/home/depot"                                 ,x,x,h,x,p,x,x);
    TRY("sophos.com:443/home/depot"                             ,x,x,h,n,p,x,x);

    return exit_status();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl $0x5b, %edi
callq 0x5652
movl $0x3, %ebx
leaq 0x2b5b(%rip), %r14      # 0x6048
movl $0x8, %ebp
leaq 0x2b92(%rip), %r12      # 0x608b
movl $0xa, %r15d
leaq 0x2bd2(%rip), %r10      # 0x60d8
leaq 0x2ba2(%rip), %r13      # 0x60af
leaq 0x2aff(%rip), %r11      # 0x6013
leaq 0x2b03(%rip), %rsi      # 0x601e
leaq 0x2ae2(%rip), %rdx      # 0x6004
movl $0x4, %ecx
movl $0x2a, %edi
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rbx
pushq %r14
pushq %rbp
pushq %r12
movq %r12, %rbp
pushq %r15
pushq %r10
pushq %rbx
pushq %r13
pushq %r15
pushq %r11
movq %r11, %r12
callq 0x38a0
addq $0x50, %rsp
leaq 0x2af3(%rip), %rsi      # 0x604c
leaq 0x2aa9(%rip), %r8       # 0x6009
movl $0x9, %r9d
movl $0x2b, %edi
xorl %edx, %edx
xorl %ecx, %ecx
pushq %rbx
pushq %r14
movl $0x8, %eax
pushq %rax
pushq %rbp
pushq %r15
leaq 0x2b56(%rip), %rax      # 0x60d8
pushq %rax
pushq %rbx
pushq %r13
pushq %r15
pushq %r12
callq 0x38a0
addq $0x50, %rsp
leaq 0x2a89(%rip), %rsi      # 0x6023
movl $0x2c, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rbx
pushq %r14
movl $0x8, %eax
pushq %rax
pushq %rbp
pushq %r15
leaq 0x2b1c(%rip), %rax      # 0x60d8
pushq %rax
pushq %rbx
pushq %r13
pushq %r15
pushq %r12
callq 0x38a0
movl $0x3, %eax
movq %rax, 0x48(%rsp)
movq %r14, 0x40(%rsp)
movl $0x8, %ecx
movq %rcx, 0x38(%rsp)
movq %rbp, 0x30(%rsp)
movq %r15, 0x28(%rsp)
leaq 0x2ae5(%rip), %r12      # 0x60d8
movq %r12, 0x20(%rsp)
movq %rax, 0x18(%rsp)
movl $0x3, %ebx
movq %r13, 0x10(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rsp)
leaq 0x2a1a(%rip), %rsi      # 0x602f
movl $0x2d, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
movq %rbx, 0x48(%rsp)
movl $0x3, %ebx
movq %r14, 0x40(%rsp)
movl $0x8, %eax
movq %rax, 0x38(%rsp)
movl $0x8, %r13d
movq %rbp, 0x30(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x20(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x29c9(%rip), %rsi      # 0x6033
movl $0x2e, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
movq %rbx, 0x48(%rsp)
movl $0x3, %ebx
movq %r14, 0x40(%rsp)
movq %r13, 0x38(%rsp)
movq %rbp, 0x30(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x298f(%rip), %rsi      # 0x603e
movl $0x2f, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%rsp)
movq %r13, 0x38(%rsp)
movq %rbp, 0x30(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x2990(%rip), %rsi      # 0x607f
movl $0x30, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
movq %rbx, 0x48(%rsp)
movl $0x3, %ebp
movq %r14, 0x40(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x2960(%rip), %rsi      # 0x6094
movl $0x31, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x2968(%rip), %rsi      # 0x60d7
movl $0x32, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups %xmm0, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movq %r15, 0x8(%rsp)
leaq 0x286d(%rip), %rsi      # 0x6013
movq %rsi, (%rsp)
movl $0x33, %edi
movq %rsi, %rbx
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups %xmm0, 0x20(%rsp)
movq %rbp, 0x18(%rsp)
leaq 0x28d0(%rip), %r14      # 0x60af
movq %r14, 0x10(%rsp)
movq %r15, 0x8(%rsp)
movq %rbx, (%rsp)
leaq 0x28b0(%rip), %rsi      # 0x60a4
movl $0x34, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movq %r15, 0x8(%rsp)
movq %rbx, (%rsp)
leaq 0x287f(%rip), %rsi      # 0x60b3
movl $0x35, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movq %r15, 0x28(%rsp)
movq %r12, 0x20(%rsp)
movq %rbp, 0x18(%rsp)
movq %r14, 0x10(%rsp)
movq %r15, 0x8(%rsp)
movq %rbx, (%rsp)
leaq 0x2850(%rip), %rsi      # 0x60c9
movl $0x36, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38a0
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x58f4