// File: /workspace/github_cpp_makefile_star2_O3/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 $0x28, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
callq 0x12456
movsd %xmm0, (%rsp)
movq (%rbx), %rdi
callq 0x12486
cmpb $0x0, 0x28(%rbx)
movsd %xmm0, 0x8(%rsp)
je 0x1b6cc
movq 0x45a2c(%rip), %rbx     # 0x60f98
leaq 0x33d27(%rip), %rsi     # 0x4f29a
movl $0x1f, %edx
movq %rbx, %rdi
callq 0x73f0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7350
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7270
leaq 0x33d0c(%rip), %rsi     # 0x4f2ba
movl $0x1c, %edx
movq %rbx, %rdi
callq 0x73f0
movq %rbx, %rdi
movsd (%rsp), %xmm0
callq 0x7620
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7350
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7270
leaq 0x33cde(%rip), %rsi     # 0x4f2d7
movl $0x20, %edx
movq %rbx, %rdi
callq 0x73f0
movq %rbx, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x7620
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7350
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7270
leaq 0x33cb3(%rip), %rsi     # 0x4f2f8
movl $0xd, %edx
movq %rbx, %rdi
callq 0x73f0
movsd (%rsp), %xmm0
subsd 0x8(%rsp), %xmm0
andpd 0x2f54b(%rip), %xmm0    # 0x4abb0
movapd %xmm0, 0x10(%rsp)
movq %rbx, %rdi
callq 0x7620
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x7350
movsbl %al, %esi
movq %r14, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7350
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7040
movq %rax, %rdi
callq 0x7270
movapd 0x10(%rsp), %xmm1
jmp 0x1b6dd
movsd (%rsp), %xmm1
subsd %xmm0, %xmm1
andpd 0x2f4d3(%rip), %xmm1    # 0x4abb0
divsd (%rsp), %xmm1
movsd 0x33b06(%rip), %xmm0    # 0x4f1f0
ucomisd %xmm1, %xmm0
jbe 0x1b6f8
addq $0x28, %rsp
popq %rbx
popq %r14
retq
movq 0x458e1(%rip), %rdi     # 0x60fe0
leaq 0x33c00(%rip), %rsi     # 0x4f306
callq 0x7360
leaq 0x33b0c(%rip), %rsi     # 0x4f21e
movq %rax, %rdi
callq 0x7360
leaq 0x2f5e2(%rip), %rsi     # 0x4ad03
movq %rax, %rdi
callq 0x7360
movq %rax, %rdi
movl $0x5e, %esi
callq 0x76a0
leaq 0x2ed26(%rip), %rsi     # 0x4a463
movq %rax, %rdi
callq 0x7360
leaq 0x33c17(%rip), %rsi     # 0x4f363
movq %rax, %rdi
callq 0x7360
movq %rax, %rdi
movsd (%rsp), %xmm0
callq 0x7760
leaq 0x33c09(%rip), %rsi     # 0x4f371
movq %rax, %rdi
callq 0x7360
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x7760
movq %rax, %rdi
callq 0x71a0
callq 0x7110
nop