// File: /workspace/github_c_makefile_star2_O0/SimpleDoger[P]Darknet_CPU_Only/box.c
// Function: test_dunion
void test_dunion()
{
    box a = {0, 0, 1, 1};
    box dxa= {0+.0001, 0, 1, 1};
    box dya= {0, 0+.0001, 1, 1};
    box dwa= {0, 0, 1+.0001, 1};
    box dha= {0, 0, 1, 1+.0001};

    box b = {.5, .5, .2, .2};
    dbox di = dunion(a,b);
    printf("Union: %f %f %f %f\n", di.dx, di.dy, di.dw, di.dh);
    float inter =  box_union(a, b);
    float xinter = box_union(dxa, b);
    float yinter = box_union(dya, b);
    float winter = box_union(dwa, b);
    float hinter = box_union(dha, b);
    xinter = (xinter - inter)/(.0001);
    yinter = (yinter - inter)/(.0001);
    winter = (winter - inter)/(.0001);
    hinter = (hinter - inter)/(.0001);
    printf("Union Manual %f %f %f %f\n", xinter, yinter, winter, hinter);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movups 0x2fabe(%rip), %xmm0    # 0x751d0
movaps %xmm0, -0x10(%rbp)
movups 0x2fac3(%rip), %xmm0    # 0x751e0
movaps %xmm0, -0x20(%rbp)
movups 0x2fac8(%rip), %xmm0    # 0x751f0
movaps %xmm0, -0x30(%rbp)
movups 0x2facd(%rip), %xmm0    # 0x75200
movaps %xmm0, -0x40(%rbp)
movups 0x2fad2(%rip), %xmm0    # 0x75210
movaps %xmm0, -0x50(%rbp)
movups 0x2fad7(%rip), %xmm0    # 0x75220
movaps %xmm0, -0x60(%rbp)
movsd -0x10(%rbp), %xmm0
movsd -0x8(%rbp), %xmm1
movsd -0x60(%rbp), %xmm2
movsd -0x58(%rbp), %xmm3
callq 0x45660
movlpd %xmm0, -0x70(%rbp)
movlpd %xmm1, -0x68(%rbp)
movss -0x70(%rbp), %xmm0
movss -0x6c(%rbp), %xmm1
cvtss2sd %xmm0, %xmm0
cvtss2sd %xmm1, %xmm1
movss -0x68(%rbp), %xmm2
cvtss2sd %xmm2, %xmm2
movss -0x64(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
leaq 0x2fae5(%rip), %rdi     # 0x75280
movb $0x4, %al
callq 0x3130
movsd -0x10(%rbp), %xmm0
movsd -0x8(%rbp), %xmm1
movsd -0x60(%rbp), %xmm2
movsd -0x58(%rbp), %xmm3
callq 0x45440
movss %xmm0, -0x74(%rbp)
movsd -0x20(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
movsd -0x60(%rbp), %xmm2
movsd -0x58(%rbp), %xmm3
callq 0x45440
movss %xmm0, -0x78(%rbp)
movsd -0x30(%rbp), %xmm0
movsd -0x28(%rbp), %xmm1
movsd -0x60(%rbp), %xmm2
movsd -0x58(%rbp), %xmm3
callq 0x45440
movss %xmm0, -0x7c(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
movsd -0x60(%rbp), %xmm2
movsd -0x58(%rbp), %xmm3
callq 0x45440
movss %xmm0, -0x80(%rbp)
movsd -0x50(%rbp), %xmm0
movsd -0x48(%rbp), %xmm1
movsd -0x60(%rbp), %xmm2
movsd -0x58(%rbp), %xmm3
callq 0x45440
movss %xmm0, -0x84(%rbp)
movss -0x78(%rbp), %xmm0
subss -0x74(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2f95f(%rip), %xmm1    # 0x751b0
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x78(%rbp)
movss -0x7c(%rbp), %xmm0
subss -0x74(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2f93c(%rip), %xmm1    # 0x751b0
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x7c(%rbp)
movss -0x80(%rbp), %xmm0
subss -0x74(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2f919(%rip), %xmm1    # 0x751b0
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x80(%rbp)
movss -0x84(%rbp), %xmm0
subss -0x74(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2f8f3(%rip), %xmm1    # 0x751b0
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x84(%rbp)
movss -0x78(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movss -0x7c(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
movss -0x80(%rbp), %xmm2
cvtss2sd %xmm2, %xmm2
movss -0x84(%rbp), %xmm3
cvtss2sd %xmm3, %xmm3
leaq 0x2f999(%rip), %rdi     # 0x75294
movb $0x4, %al
callq 0x3130
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax,%rax)