// File: /workspace/github_cpp_makefile_star2_O1/lvandeve[P]lodepng/lodepng_unittest.cpp
// Function: assertExifDataEqual(lodepng::State const&, lodepng::State const&)
void assertExifDataEqual(const lodepng::State& a, const lodepng::State& b) {
  ASSERT_EQUALS(a.info_png.exif_defined, b.info_png.exif_defined);
  if(!a.info_png.exif_defined) return;

  ASSERT_EQUALS(a.info_png.exif_size, b.info_png.exif_size);
  for(size_t i = 0; i < a.info_png.exif_size; i++) {
    ASSERT_EQUALS(a.info_png.exif[i], b.info_png.exif[i]);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movl 0x158(%rdi), %eax
cmpl 0x158(%rsi), %eax
jne 0x4c406
testl %eax, %eax
je 0x4c18f
movl 0x168(%r14), %eax
cmpl 0x168(%rbx), %eax
jne 0x4c621
testq %rax, %rax
je 0x4c18f
movq 0x160(%r14), %rcx
movq 0x160(%rbx), %rdx
negq %rax
xorl %ebp, %ebp
xorl %esi, %esi
movb (%rcx,%rsi), %dil
cmpb (%rdx,%rsi), %dil
jne 0x4c1a1
incq %rsi
decq %rbp
cmpq %rbp, %rax
jne 0x4c17a
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x98(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29fa9(%rip), %rsi     # 0x7615d
leaq 0x29fa7(%rip), %rdx     # 0x76162
leaq 0x88(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x2c649(%rip), %rsi     # 0x7883e
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x2d4fe(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x2c5eb(%rip), %rsi     # 0x78843
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x29f1c(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x67d34(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4c2bd
callq 0x2200
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4c2d1
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x4c2e0
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c2ef
callq 0x2200
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c301
callq 0x2200
movq 0x67cd0(%rip), %r15     # 0xb3fd8
leaq 0x52b7e(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
movq %r15, %rdi
callq 0x2270
movq 0x160(%r14), %rsi
subq %rbp, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x16452
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %r15, %rdi
callq 0x2270
movq %rax, %r14
leaq 0x29e71(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq 0x160(%rbx), %rsi
subq %rbp, %rsi
leaq 0x28(%rsp), %rdi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0x2270
movq %rax, %rbx
leaq 0x29d1b(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4c3d1
callq 0x2200
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4c3e5
callq 0x2200
movl $0x4, %edi
callq 0x2120
movl $0x1, (%rax)
movq 0x67bbc(%rip), %rsi     # 0xb3fb8
movq %rax, %rdi
xorl %edx, %edx
callq 0x2380
leaq 0x98(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29d44(%rip), %rsi     # 0x7615d
leaq 0x29d42(%rip), %rdx     # 0x76162
leaq 0x88(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x2c3ac(%rip), %rsi     # 0x78807
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x2d299(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x2c34f(%rip), %rsi     # 0x7880c
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x29cb7(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x67acf(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4c522
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c531
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4c540
callq 0x2200
movl $0x158, %ebp            # imm = 0x158
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x4c554
callq 0x2200
addq %rbp, %r14
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c569
callq 0x2200
movq 0x67a68(%rip), %r15     # 0xb3fd8
leaq 0x52916(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
movq %r15, %rdi
callq 0x2270
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x70339
movq (%r12), %rsi
movq 0x8(%r12), %rdx
movq %r15, %rdi
callq 0x2270
movq %rax, %r14
leaq 0x29c0e(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
addq %rbp, %rbx
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x70339
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0x2270
movq %rax, %rbx
leaq 0x29abc(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
jmp 0x4c837
leaq 0x98(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x29b29(%rip), %rsi     # 0x7615d
leaq 0x29b27(%rip), %rdx     # 0x76162
leaq 0x88(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x2c1ae(%rip), %rsi     # 0x78824
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x2d07e(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x2c151(%rip), %rsi     # 0x78829
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x29a9c(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x678b4(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4c73d
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c74c
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4c75b
callq 0x2200
movl $0x168, %ebp            # imm = 0x168
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x4c76f
callq 0x2200
addq %rbp, %r14
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c784
callq 0x2200
movq 0x6784d(%rip), %r15     # 0xb3fd8
leaq 0x526fb(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
movq %r15, %rdi
callq 0x2270
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
callq 0x70339
movq (%r12), %rsi
movq 0x8(%r12), %rdx
movq %r15, %rdi
callq 0x2270
movq %rax, %r14
leaq 0x299f3(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
addq %rbp, %rbx
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x70339
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r14, %rdi
callq 0x2270
movq %rax, %rbx
leaq 0x298a1(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
jne 0x4c3cc
jmp 0x4c3d1
jmp 0x4c84e
jmp 0x4c8b7
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
jne 0x4c87b
jmp 0x4c8ba
jmp 0x4c8b7
jmp 0x4c8b7
jmp 0x4c884
jmp 0x4c8b7
jmp 0x4c884
jmp 0x4c884
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4c8ba
callq 0x2200
jmp 0x4c8ba
jmp 0x4c8b7
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4c8a6
callq 0x2200
jmp 0x4c8a6
jmp 0x4c8a3
jmp 0x4c8a3
jmp 0x4c8a3
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c8f6
callq 0x2200
jmp 0x4c8f6
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
jne 0x4c97b
jmp 0x4c985
jmp 0x4c8f3
jmp 0x4c8da
jmp 0x4c8f3
jmp 0x4c8f3
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x4c912
callq 0x2200
jmp 0x4c912
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4c92b
callq 0x2200
jmp 0x4c92b
jmp 0x4c928
jmp 0x4c90f
jmp 0x4c928
jmp 0x4c928
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x4c942
callq 0x2200
jmp 0x4c942
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
jne 0x4c964
jmp 0x4c96e
jmp 0x4c96b
jmp 0x4c93f
jmp 0x4c96b
jmp 0x4c982
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x4c95a
callq 0x2200
jmp 0x4c95a
jmp 0x4c982
jmp 0x4c957
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x4c96e
callq 0x2200
jmp 0x4c96e
movq %rax, %rbx
movq 0x88(%rsp), %rdi
cmpq %r15, %rdi
je 0x4c985
callq 0x2200
jmp 0x4c985
movq %rax, %rbx
movq %rbx, %rdi
callq 0x23b0