// File: /workspace/github_cpp_makefile_star2_O2/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb0, %rsp
pushq $0x5b
popq %rdi
callq 0x560f
xorps %xmm0, %xmm0
movaps %xmm0, 0x50(%rsp)
leaq 0x2ba1(%rip), %rdi      # 0x6004
callq 0x38e0
movq %rax, %r12
movq %rdx, %r13
leaq 0x2b94(%rip), %rdi      # 0x6009
callq 0x38e0
movq %rax, %r14
movq %rdx, %r15
leaq 0x2b8c(%rip), %rbx      # 0x6013
movq %rbx, %rdi
callq 0x38e0
movq %rax, 0x90(%rsp)
movq %rdx, 0x98(%rsp)
leaq 0x2c09(%rip), %rdi      # 0x60af
callq 0x38e0
movq %rax, 0xa0(%rsp)
movq %rdx, 0xa8(%rsp)
leaq 0x2c16(%rip), %rdi      # 0x60d8
callq 0x38e0
movq %rax, 0x60(%rsp)
movq %rdx, 0x68(%rsp)
leaq 0x2bb3(%rip), %rdi      # 0x608b
callq 0x38e0
movq %rax, 0x80(%rsp)
movq %rdx, 0x88(%rsp)
leaq 0x2b54(%rip), %rdi      # 0x6048
callq 0x38e0
movq %rax, 0x70(%rsp)
movq %rdx, 0x78(%rsp)
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2ada(%rip), %rsi      # 0x601e
pushq $0x2a
popq %rdi
movq %r12, %rdx
movq %r13, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x38fd
movq 0x50(%rsp), %rdx
movq 0x58(%rsp), %rcx
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2aa9(%rip), %rsi      # 0x604c
pushq $0x2b
popq %rdi
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movq 0x50(%rsp), %r14
movq 0x58(%rsp), %r15
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2a27(%rip), %rsi      # 0x6023
pushq $0x2c
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movaps 0x50(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x29e1(%rip), %rsi      # 0x602f
pushq $0x2d
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x299b(%rip), %rsi      # 0x6033
pushq $0x2e
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x2961(%rip), %rsi      # 0x603e
pushq $0x2f
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups 0x80(%rsp), %xmm1
movups %xmm1, 0x30(%rsp)
movups 0x60(%rsp), %xmm1
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x295d(%rip), %rsi      # 0x607f
pushq $0x30
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movups 0x70(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm1
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x2930(%rip), %rsi      # 0x6094
pushq $0x31
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm1
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups %xmm0, (%rsp)
leaq 0x2936(%rip), %rsi      # 0x60d7
pushq $0x32
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups %xmm0, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
pushq $0x33
popq %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x287f(%rip), %rsi      # 0x60a4
pushq $0x34
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm1
movups %xmm1, 0x20(%rsp)
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2849(%rip), %rsi      # 0x60b3
pushq $0x35
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
movaps 0x50(%rsp), %xmm0
movups %xmm0, 0x40(%rsp)
movups %xmm0, 0x30(%rsp)
movups 0x60(%rsp), %xmm0
movups %xmm0, 0x20(%rsp)
movups 0xa0(%rsp), %xmm0
movups %xmm0, 0x10(%rsp)
movups 0x90(%rsp), %xmm0
movups %xmm0, (%rsp)
leaq 0x2812(%rip), %rsi      # 0x60c9
pushq $0x36
popq %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r14, %r8
movq %r15, %r9
callq 0x38fd
addq $0xb0, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x58ad