#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ CLK(int);
int /*<<< orphan*/ KEY(int /*<<< orphan*/, int /*<<< orphan*/);
int /*<<< orphan*/ RGA(int /*<<< orphan*/, int /*<<< orphan*/,
                       int /*<<< orphan*/, int /*<<< orphan*/,
                       int /*<<< orphan*/, int, int, int);
int /*<<< orphan*/ RGB(int /*<<< orphan*/, int /*<<< orphan*/,
                       int /*<<< orphan*/, int /*<<< orphan*/,
                       int /*<<< orphan*/, int /*<<< orphan*/,
                       int /*<<< orphan*/, int /*<<< orphan*/);
int /*<<< orphan*/ RST(int);
int /*<<< orphan*/ delay(int);
void protection() {
  int del = 1000;
  RST(1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  KEY(0, 0);
  RGA(0, 0, 0, 0, 0, 0, 0, 0);
  RGB(0, 0, 0, 0, 0, 0, 0, 0);
  RST(0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 1, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 0, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 1, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 1, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 1, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 0, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 1, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 0, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 1, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 0, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 1, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 0, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 1, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 0, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 1, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 0, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 1, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 1, 1, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 1, 1);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
  RGA(0, 0, 0, 0, 0, 0, 0, 0);
  CLK(0);
  delay(del / 2);
  CLK(1);
  delay(del / 2);
}


x86 assembly (clang, -O0):
<protection>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
movl   $0x3e8,-0x4(%rbp)
mov    $0x1,%edi
call   1050 <RST@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %esi,%esi
mov    %esi,%edi
call   1030 <KEY@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x0,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x0,(%rsp)
movl   $0x0,0x8(%rsp)
call   1080 <RGB@plt>
xor    %edi,%edi
call   1050 <RST@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x1,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x0,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x1,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x0,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x0,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x1,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x0,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x0,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x0,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x0,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r8d,%r8d
mov    $0x1,%r9d
mov    %r8d,%edi
mov    %r8d,%esi
mov    %r8d,%edx
mov    %r8d,%ecx
movl   $0x1,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x1,(%rsp)
movl   $0x1,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
xor    %r9d,%r9d
mov    %r9d,%edi
mov    %r9d,%esi
mov    %r9d,%edx
mov    %r9d,%ecx
mov    %r9d,%r8d
movl   $0x0,(%rsp)
movl   $0x0,0x8(%rsp)
call   1040 <RGA@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    -0x4(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%edi
call   1060 <delay@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<protection>:
push   %rax
mov    $0x1,%edi
call   1050 <RST@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
call   1030 <KEY@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x0
call   1080 <RGB@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1050 <RST@plt>
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x1
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x1
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x0
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x1
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x0
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x1
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x0
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x1
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x1
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x1
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x0
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x1,%r9d
push   $0x1
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x1
push   $0x1
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
xor    %edi,%edi
xor    %esi,%esi
xor    %edx,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
xor    %r9d,%r9d
push   $0x0
push   $0x0
call   1040 <RGA@plt>
add    $0x10,%rsp
xor    %edi,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
call   1060 <delay@plt>
mov    $0x1,%edi
call   1070 <CLK@plt>
mov    $0x1f4,%edi
pop    %rax
jmp    1060 <delay@plt>

LLVM IR (-O0):
define void @protection() {
%1 = alloca i32
store i32 1000, i32* %1
%2 = call i32 @RST(i32 1)
%3 = call i32 @CLK(i32 0)
%4 = load i32, i32* %1
%5 = sdiv i32 %4, 2
%6 = call i32 @delay(i32 %5)
%7 = call i32 @CLK(i32 1)
%8 = load i32, i32* %1
%9 = sdiv i32 %8, 2
%10 = call i32 @delay(i32 %9)
%11 = call i32 @KEY(i32 0, i32 0)
%12 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
%13 = call i32 @RGB(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
%14 = call i32 @RST(i32 0)
%15 = call i32 @CLK(i32 0)
%16 = load i32, i32* %1
%17 = sdiv i32 %16, 2
%18 = call i32 @delay(i32 %17)
%19 = call i32 @CLK(i32 1)
%20 = load i32, i32* %1
%21 = sdiv i32 %20, 2
%22 = call i32 @delay(i32 %21)
%23 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1)
%24 = call i32 @CLK(i32 0)
%25 = load i32, i32* %1
%26 = sdiv i32 %25, 2
%27 = call i32 @delay(i32 %26)
%28 = call i32 @CLK(i32 1)
%29 = load i32, i32* %1
%30 = sdiv i32 %29, 2
%31 = call i32 @delay(i32 %30)
%32 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1)
%33 = call i32 @CLK(i32 0)
%34 = load i32, i32* %1
%35 = sdiv i32 %34, 2
%36 = call i32 @delay(i32 %35)
%37 = call i32 @CLK(i32 1)
%38 = load i32, i32* %1
%39 = sdiv i32 %38, 2
%40 = call i32 @delay(i32 %39)
%41 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0)
%42 = call i32 @CLK(i32 0)
%43 = load i32, i32* %1
%44 = sdiv i32 %43, 2
%45 = call i32 @delay(i32 %44)
%46 = call i32 @CLK(i32 1)
%47 = load i32, i32* %1
%48 = sdiv i32 %47, 2
%49 = call i32 @delay(i32 %48)
%50 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%51 = call i32 @CLK(i32 0)
%52 = load i32, i32* %1
%53 = sdiv i32 %52, 2
%54 = call i32 @delay(i32 %53)
%55 = call i32 @CLK(i32 1)
%56 = load i32, i32* %1
%57 = sdiv i32 %56, 2
%58 = call i32 @delay(i32 %57)
%59 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1)
%60 = call i32 @CLK(i32 0)
%61 = load i32, i32* %1
%62 = sdiv i32 %61, 2
%63 = call i32 @delay(i32 %62)
%64 = call i32 @CLK(i32 1)
%65 = load i32, i32* %1
%66 = sdiv i32 %65, 2
%67 = call i32 @delay(i32 %66)
%68 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0)
%69 = call i32 @CLK(i32 0)
%70 = load i32, i32* %1
%71 = sdiv i32 %70, 2
%72 = call i32 @delay(i32 %71)
%73 = call i32 @CLK(i32 1)
%74 = load i32, i32* %1
%75 = sdiv i32 %74, 2
%76 = call i32 @delay(i32 %75)
%77 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%78 = call i32 @CLK(i32 0)
%79 = load i32, i32* %1
%80 = sdiv i32 %79, 2
%81 = call i32 @delay(i32 %80)
%82 = call i32 @CLK(i32 1)
%83 = load i32, i32* %1
%84 = sdiv i32 %83, 2
%85 = call i32 @delay(i32 %84)
%86 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
%87 = call i32 @CLK(i32 0)
%88 = load i32, i32* %1
%89 = sdiv i32 %88, 2
%90 = call i32 @delay(i32 %89)
%91 = call i32 @CLK(i32 1)
%92 = load i32, i32* %1
%93 = sdiv i32 %92, 2
%94 = call i32 @delay(i32 %93)
%95 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1)
%96 = call i32 @CLK(i32 0)
%97 = load i32, i32* %1
%98 = sdiv i32 %97, 2
%99 = call i32 @delay(i32 %98)
%100 = call i32 @CLK(i32 1)
%101 = load i32, i32* %1
%102 = sdiv i32 %101, 2
%103 = call i32 @delay(i32 %102)
%104 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0)
%105 = call i32 @CLK(i32 0)
%106 = load i32, i32* %1
%107 = sdiv i32 %106, 2
%108 = call i32 @delay(i32 %107)
%109 = call i32 @CLK(i32 1)
%110 = load i32, i32* %1
%111 = sdiv i32 %110, 2
%112 = call i32 @delay(i32 %111)
%113 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%114 = call i32 @CLK(i32 0)
%115 = load i32, i32* %1
%116 = sdiv i32 %115, 2
%117 = call i32 @delay(i32 %116)
%118 = call i32 @CLK(i32 1)
%119 = load i32, i32* %1
%120 = sdiv i32 %119, 2
%121 = call i32 @delay(i32 %120)
%122 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1)
%123 = call i32 @CLK(i32 0)
%124 = load i32, i32* %1
%125 = sdiv i32 %124, 2
%126 = call i32 @delay(i32 %125)
%127 = call i32 @CLK(i32 1)
%128 = load i32, i32* %1
%129 = sdiv i32 %128, 2
%130 = call i32 @delay(i32 %129)
%131 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%132 = call i32 @CLK(i32 0)
%133 = load i32, i32* %1
%134 = sdiv i32 %133, 2
%135 = call i32 @delay(i32 %134)
%136 = call i32 @CLK(i32 1)
%137 = load i32, i32* %1
%138 = sdiv i32 %137, 2
%139 = call i32 @delay(i32 %138)
%140 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1)
%141 = call i32 @CLK(i32 0)
%142 = load i32, i32* %1
%143 = sdiv i32 %142, 2
%144 = call i32 @delay(i32 %143)
%145 = call i32 @CLK(i32 1)
%146 = load i32, i32* %1
%147 = sdiv i32 %146, 2
%148 = call i32 @delay(i32 %147)
%149 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1)
%150 = call i32 @CLK(i32 0)
%151 = load i32, i32* %1
%152 = sdiv i32 %151, 2
%153 = call i32 @delay(i32 %152)
%154 = call i32 @CLK(i32 1)
%155 = load i32, i32* %1
%156 = sdiv i32 %155, 2
%157 = call i32 @delay(i32 %156)
%158 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0)
%159 = call i32 @CLK(i32 0)
%160 = load i32, i32* %1
%161 = sdiv i32 %160, 2
%162 = call i32 @delay(i32 %161)
%163 = call i32 @CLK(i32 1)
%164 = load i32, i32* %1
%165 = sdiv i32 %164, 2
%166 = call i32 @delay(i32 %165)
%167 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%168 = call i32 @CLK(i32 0)
%169 = load i32, i32* %1
%170 = sdiv i32 %169, 2
%171 = call i32 @delay(i32 %170)
%172 = call i32 @CLK(i32 1)
%173 = load i32, i32* %1
%174 = sdiv i32 %173, 2
%175 = call i32 @delay(i32 %174)
%176 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1)
%177 = call i32 @CLK(i32 0)
%178 = load i32, i32* %1
%179 = sdiv i32 %178, 2
%180 = call i32 @delay(i32 %179)
%181 = call i32 @CLK(i32 1)
%182 = load i32, i32* %1
%183 = sdiv i32 %182, 2
%184 = call i32 @delay(i32 %183)
%185 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1)
%186 = call i32 @CLK(i32 0)
%187 = load i32, i32* %1
%188 = sdiv i32 %187, 2
%189 = call i32 @delay(i32 %188)
%190 = call i32 @CLK(i32 1)
%191 = load i32, i32* %1
%192 = sdiv i32 %191, 2
%193 = call i32 @delay(i32 %192)
%194 = call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
%195 = call i32 @CLK(i32 0)
%196 = load i32, i32* %1
%197 = sdiv i32 %196, 2
%198 = call i32 @delay(i32 %197)
%199 = call i32 @CLK(i32 1)
%200 = load i32, i32* %1
%201 = sdiv i32 %200, 2
%202 = call i32 @delay(i32 %201)
ret void
}

LLVM IR (-O2):
define void @protection() {
%1 = tail call i32 @RST(i32 1)
%2 = tail call i32 @CLK(i32 0)
%3 = tail call i32 @delay(i32 500)
%4 = tail call i32 @CLK(i32 1)
%5 = tail call i32 @delay(i32 500)
%6 = tail call i32 @KEY(i32 0, i32 0)
%7 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
%8 = tail call i32 @RGB(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
%9 = tail call i32 @RST(i32 0)
%10 = tail call i32 @CLK(i32 0)
%11 = tail call i32 @delay(i32 500)
%12 = tail call i32 @CLK(i32 1)
%13 = tail call i32 @delay(i32 500)
%14 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1)
%15 = tail call i32 @CLK(i32 0)
%16 = tail call i32 @delay(i32 500)
%17 = tail call i32 @CLK(i32 1)
%18 = tail call i32 @delay(i32 500)
%19 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1)
%20 = tail call i32 @CLK(i32 0)
%21 = tail call i32 @delay(i32 500)
%22 = tail call i32 @CLK(i32 1)
%23 = tail call i32 @delay(i32 500)
%24 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0)
%25 = tail call i32 @CLK(i32 0)
%26 = tail call i32 @delay(i32 500)
%27 = tail call i32 @CLK(i32 1)
%28 = tail call i32 @delay(i32 500)
%29 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%30 = tail call i32 @CLK(i32 0)
%31 = tail call i32 @delay(i32 500)
%32 = tail call i32 @CLK(i32 1)
%33 = tail call i32 @delay(i32 500)
%34 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1)
%35 = tail call i32 @CLK(i32 0)
%36 = tail call i32 @delay(i32 500)
%37 = tail call i32 @CLK(i32 1)
%38 = tail call i32 @delay(i32 500)
%39 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0)
%40 = tail call i32 @CLK(i32 0)
%41 = tail call i32 @delay(i32 500)
%42 = tail call i32 @CLK(i32 1)
%43 = tail call i32 @delay(i32 500)
%44 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%45 = tail call i32 @CLK(i32 0)
%46 = tail call i32 @delay(i32 500)
%47 = tail call i32 @CLK(i32 1)
%48 = tail call i32 @delay(i32 500)
%49 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
%50 = tail call i32 @CLK(i32 0)
%51 = tail call i32 @delay(i32 500)
%52 = tail call i32 @CLK(i32 1)
%53 = tail call i32 @delay(i32 500)
%54 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1)
%55 = tail call i32 @CLK(i32 0)
%56 = tail call i32 @delay(i32 500)
%57 = tail call i32 @CLK(i32 1)
%58 = tail call i32 @delay(i32 500)
%59 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0)
%60 = tail call i32 @CLK(i32 0)
%61 = tail call i32 @delay(i32 500)
%62 = tail call i32 @CLK(i32 1)
%63 = tail call i32 @delay(i32 500)
%64 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%65 = tail call i32 @CLK(i32 0)
%66 = tail call i32 @delay(i32 500)
%67 = tail call i32 @CLK(i32 1)
%68 = tail call i32 @delay(i32 500)
%69 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1)
%70 = tail call i32 @CLK(i32 0)
%71 = tail call i32 @delay(i32 500)
%72 = tail call i32 @CLK(i32 1)
%73 = tail call i32 @delay(i32 500)
%74 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%75 = tail call i32 @CLK(i32 0)
%76 = tail call i32 @delay(i32 500)
%77 = tail call i32 @CLK(i32 1)
%78 = tail call i32 @delay(i32 500)
%79 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1)
%80 = tail call i32 @CLK(i32 0)
%81 = tail call i32 @delay(i32 500)
%82 = tail call i32 @CLK(i32 1)
%83 = tail call i32 @delay(i32 500)
%84 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1)
%85 = tail call i32 @CLK(i32 0)
%86 = tail call i32 @delay(i32 500)
%87 = tail call i32 @CLK(i32 1)
%88 = tail call i32 @delay(i32 500)
%89 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0)
%90 = tail call i32 @CLK(i32 0)
%91 = tail call i32 @delay(i32 500)
%92 = tail call i32 @CLK(i32 1)
%93 = tail call i32 @delay(i32 500)
%94 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0)
%95 = tail call i32 @CLK(i32 0)
%96 = tail call i32 @delay(i32 500)
%97 = tail call i32 @CLK(i32 1)
%98 = tail call i32 @delay(i32 500)
%99 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1)
%100 = tail call i32 @CLK(i32 0)
%101 = tail call i32 @delay(i32 500)
%102 = tail call i32 @CLK(i32 1)
%103 = tail call i32 @delay(i32 500)
%104 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1)
%105 = tail call i32 @CLK(i32 0)
%106 = tail call i32 @delay(i32 500)
%107 = tail call i32 @CLK(i32 1)
%108 = tail call i32 @delay(i32 500)
%109 = tail call i32 @RGA(i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0)
%110 = tail call i32 @CLK(i32 0)
%111 = tail call i32 @delay(i32 500)
%112 = tail call i32 @CLK(i32 1)
%113 = tail call i32 @delay(i32 500)
ret void
}