// File: lvandeve[P]lodepng/lodepng_unittest.cpp
// Function: testOtherPattern1()
void testOtherPattern1() {
  std::cout << "codec other pattern 1" << std::endl;

  Image image1;
  size_t w = 192;
  size_t h = 192;
  image1.width = w;
  image1.height = h;
  image1.colorType = LCT_RGBA;
  image1.bitDepth = 8;
  image1.data.resize(w * h * 4u);
  for(size_t y = 0; y < h; y++)
  for(size_t x = 0; x < w; x++) {
    //pattern 1
    image1.data[4u * w * y + 4u * x + 0u] = (unsigned char)(127 * (1 + std::sin((                    x * x +                     y * y) / (w * h / 8.0))));
    image1.data[4u * w * y + 4u * x + 1u] = (unsigned char)(127 * (1 + std::sin(((w - x - 1) * (w - x - 1) +                     y * y) / (w * h / 8.0))));
    image1.data[4u * w * y + 4u * x + 2u] = (unsigned char)(127 * (1 + std::sin((                    x * x + (h - y - 1) * (h - y - 1)) / (w * h / 8.0))));
    image1.data[4u * w * y + 4u * x + 3u] = (unsigned char)(127 * (1 + std::sin(((w - x - 1) * (w - x - 1) + (h - y - 1) * (h - y - 1)) / (w * h / 8.0))));
  }

  doCodecTest(image1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq 0xc66c6(%rip), %rdi     # 0xf7fd8
leaq 0x81a9d(%rip), %rsi     # 0xb33b6
callq 0x3230
movq %rax, %rdi
movq 0xc6698(%rip), %rsi     # 0xf7fc0
callq 0x3280
leaq -0x28(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0xaaae0
movq -0x60(%rbp), %rdi
movq $0xc0, -0x30(%rbp)
movq $0xc0, -0x38(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x38(%rbp), %eax
movl %eax, -0xc(%rbp)
movl $0x6, -0x8(%rbp)
movl $0x8, -0x4(%rbp)
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rax
imulq %rax, %rsi
shlq $0x2, %rsi
xorl %edx, %edx
callq 0x1a540
jmp 0x31981
movq $0x0, -0x50(%rbp)
movq -0x50(%rbp), %rax
cmpq -0x38(%rbp), %rax
jae 0x31d23
movq $0x0, -0x58(%rbp)
movq -0x58(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x31d10
movq -0x58(%rbp), %rax
imulq %rax, %rax
movq -0x50(%rbp), %rcx
imulq %rcx, %rcx
addq %rcx, %rax
movq %rax, %xmm0
movaps 0x81644(%rip), %xmm3    # 0xb3010
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x81648(%rip), %xmm2    # 0xb3020
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movq -0x38(%rbp), %rcx
imulq %rcx, %rax
movq %rax, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
movsd 0x8161d(%rip), %xmm2    # 0xb3030
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x3080
movsd 0x81070(%rip), %xmm1    # 0xb2a98
addsd %xmm1, %xmm0
movsd 0x81604(%rip), %xmm1    # 0xb3038
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movb %al, -0x69(%rbp)
movq -0x30(%rbp), %rcx
movq -0x50(%rbp), %rax
imulq %rax, %rcx
movq -0x58(%rbp), %rax
shlq $0x2, %rax
leaq (%rax,%rcx,4), %rsi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x68(%rbp)
jmp 0x31a66
movq -0x68(%rbp), %rax
movb -0x69(%rbp), %cl
movb %cl, (%rax)
movq -0x30(%rbp), %rax
movq -0x58(%rbp), %rcx
notq %rcx
addq %rax, %rcx
imulq %rcx, %rcx
movq -0x50(%rbp), %rdx
imulq %rdx, %rdx
addq %rdx, %rcx
movq %rcx, %xmm0
movaps 0x81578(%rip), %xmm3    # 0xb3010
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x8157c(%rip), %xmm2    # 0xb3020
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq -0x38(%rbp), %rcx
imulq %rcx, %rax
movq %rax, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
movsd 0x81555(%rip), %xmm2    # 0xb3030
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x3080
movsd 0x80fa8(%rip), %xmm1    # 0xb2a98
addsd %xmm1, %xmm0
movsd 0x8153c(%rip), %xmm1    # 0xb3038
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movb %al, -0x79(%rbp)
movq -0x30(%rbp), %rcx
movq -0x50(%rbp), %rax
imulq %rax, %rcx
movq -0x58(%rbp), %rax
shlq $0x2, %rax
leaq 0x1(%rax,%rcx,4), %rsi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x78(%rbp)
jmp 0x31b2f
movq -0x78(%rbp), %rax
movb -0x79(%rbp), %cl
movb %cl, (%rax)
movq -0x58(%rbp), %rax
imulq %rax, %rax
movq -0x38(%rbp), %rcx
movq -0x50(%rbp), %rdx
notq %rdx
addq %rcx, %rdx
imulq %rdx, %rdx
addq %rdx, %rax
movq %rax, %xmm0
movaps 0x814af(%rip), %xmm3    # 0xb3010
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x814b3(%rip), %xmm2    # 0xb3020
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
imulq %rcx, %rax
movq %rax, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
movsd 0x8148c(%rip), %xmm2    # 0xb3030
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x3080
movsd 0x80edf(%rip), %xmm1    # 0xb2a98
addsd %xmm1, %xmm0
movsd 0x81473(%rip), %xmm1    # 0xb3038
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movb %al, -0x89(%rbp)
movq -0x30(%rbp), %rcx
movq -0x50(%rbp), %rax
imulq %rax, %rcx
movq -0x58(%rbp), %rax
shlq $0x2, %rax
leaq 0x2(%rax,%rcx,4), %rsi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x88(%rbp)
jmp 0x31bfe
movq -0x88(%rbp), %rax
movb -0x89(%rbp), %cl
movb %cl, (%rax)
movq -0x30(%rbp), %rax
movq -0x58(%rbp), %rdx
notq %rdx
addq %rax, %rdx
imulq %rdx, %rdx
movq -0x38(%rbp), %rcx
movq -0x50(%rbp), %rsi
notq %rsi
addq %rcx, %rsi
imulq %rsi, %rsi
addq %rsi, %rdx
movq %rdx, %xmm0
movaps 0x813d0(%rip), %xmm3    # 0xb3010
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x813d4(%rip), %xmm2    # 0xb3020
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
imulq %rcx, %rax
movq %rax, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
movsd 0x813b1(%rip), %xmm2    # 0xb3030
mulsd %xmm2, %xmm1
divsd %xmm1, %xmm0
callq 0x3080
movsd 0x80e04(%rip), %xmm1    # 0xb2a98
addsd %xmm1, %xmm0
movsd 0x81398(%rip), %xmm1    # 0xb3038
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movb %al, -0x99(%rbp)
movq -0x30(%rbp), %rcx
movq -0x50(%rbp), %rax
imulq %rax, %rcx
movq -0x58(%rbp), %rax
shlq $0x2, %rax
leaq 0x3(%rax,%rcx,4), %rsi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x98(%rbp)
jmp 0x31cd9
movq -0x98(%rbp), %rax
movb -0x99(%rbp), %cl
movb %cl, (%rax)
movq -0x58(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x58(%rbp)
jmp 0x3199f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xaab00
jmp 0x31d40
jmp 0x31d12
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x50(%rbp)
jmp 0x31989
leaq -0x28(%rbp), %rdi
callq 0x30ea0
jmp 0x31d2e
leaq -0x28(%rbp), %rdi
callq 0xaab00
addq $0xa0, %rsp
popq %rbp
retq
jmp 0x31d42
movq -0x40(%rbp), %rdi
callq 0x3430
movq %rax, %rdi
callq 0x1a490
nopw %cs:(%rax,%rax)