// File: /workspace/github_cpp_makefile_star2_O1/icemiliang[P]vot/src/vot/ot.cc
// Function: vot::OT::check_total_mass()
void OT::check_total_mass() {
        double totalDirac = mDiagram->total_dirac_mass();
        double totalEmpirical = mDiagram->total_empirical_mass();
        if (mFlagVerbose) {
            std::cout << "--> Checking total measures... " << std::endl;
            std::cout << "       Total Dirac measure: " << totalDirac << std::endl;
            std::cout << "       Total Empirical measure: " << totalEmpirical << std::endl;
            std::cout << "       Diff: " << fabs(totalDirac - totalEmpirical) << std::endl;
            std::cout << std::endl;
        }
        ASSERT_VOT(fabs(totalDirac - totalEmpirical) / totalDirac < otTOLERANCE*1000,
               "Total Dirac: " << totalDirac << " not equal to total Empirical: " << totalEmpirical);
    }

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
callq 0x1257c
movsd %xmm0, 0x10(%rsp)
movq (%rbx), %rdi
callq 0x125ac
cmpb $0x1, 0x28(%rbx)
jne 0x1b591
movq 0x46b67(%rip), %rbx     # 0x61f98
leaq 0x34012(%rip), %rsi     # 0x4f44a
movl $0x1f, %edx
movq %rbx, %rdi
movsd %xmm0, 0x8(%rsp)
callq 0x73e0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7260
leaq 0x33ff1(%rip), %rsi     # 0x4f46a
movl $0x1c, %edx
movq %rbx, %rdi
callq 0x73e0
movq %rbx, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x7610
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7340
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7260
leaq 0x33fc2(%rip), %rsi     # 0x4f487
movl $0x20, %edx
movq %rbx, %rdi
callq 0x73e0
movq %rbx, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x7610
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7340
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7260
leaq 0x33f97(%rip), %rsi     # 0x4f4a8
movl $0xd, %edx
movq %rbx, %rdi
callq 0x73e0
movsd 0x10(%rsp), %xmm0
subsd 0x8(%rsp), %xmm0
andpd 0x2f63e(%rip), %xmm0    # 0x4ab70
movq %rbx, %rdi
callq 0x7610
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7340
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7260
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7340
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7260
movsd 0x8(%rsp), %xmm0
movsd 0x10(%rsp), %xmm1
movapd %xmm1, %xmm2
subsd %xmm0, %xmm2
andpd 0x2f5c9(%rip), %xmm2    # 0x4ab70
divsd %xmm1, %xmm2
movsd 0x33ded(%rip), %xmm1    # 0x4f3a0
ucomisd %xmm2, %xmm1
jbe 0x1b5c1
addq $0x18, %rsp
popq %rbx
popq %r14
retq
movq 0x46a18(%rip), %rdi     # 0x61fe0
leaq 0x33ee7(%rip), %rsi     # 0x4f4b6
movsd %xmm0, 0x8(%rsp)
callq 0x7350
leaq 0x33ded(%rip), %rsi     # 0x4f3ce
movq %rax, %rdi
callq 0x7350
leaq 0x2f6c3(%rip), %rsi     # 0x4acb3
movq %rax, %rdi
callq 0x7350
movq %rax, %rdi
movl $0x5e, %esi
callq 0x7690
leaq 0x2ee47(%rip), %rsi     # 0x4a453
movq %rax, %rdi
callq 0x7350
leaq 0x33ef8(%rip), %rsi     # 0x4f513
movq %rax, %rdi
callq 0x7350
movq %rax, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x7750
leaq 0x33ee9(%rip), %rsi     # 0x4f521
movq %rax, %rdi
callq 0x7350
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x7750
movq %rax, %rdi
callq 0x71a0
callq 0x7110
nop