#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*/ fprintf(int /*<<< orphan*/, char *);
int /*<<< orphan*/ fputc(char, int /*<<< orphan*/);
int /*<<< orphan*/ stdout;
void ich_liebe_dich() {
  int f[9][36] = {
      0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
      0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
      1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,
      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0,
      0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
      0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0};
  int s[9][21] = {
      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0,
      0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
      0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0};
  int t[9][22] = {
      0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0,
      0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
      0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0,
      0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
      1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
      0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1,
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0};
  typedef int(*ArrType)[22];
  fprintf(stdout, "\n\n");
  {
    int i = 0, j = 0;
    char c = 0;
    for (i = 0; i < 9; ++i) {
      fputc('\t', stdout);
      for (j = 0; j < 36; ++j) {
        c = (f[i][j] != 0) ? '#' : ' ';
        fputc(c, stdout);
      }
      fputc('\n', stdout);
    }
  };
  fprintf(stdout, "\n\n");
  {
    int i = 0, j = 0;
    char c = 0;
    for (i = 0; i < 9; ++i) {
      fputc('\t', stdout);
      for (j = 0; j < 21; ++j) {
        c = (s[i][j] != 0) ? '#' : ' ';
        fputc(c, stdout);
      }
      fputc('\n', stdout);
    }
  };
  fprintf(stdout, "\n\n");
  {
    int i = 0, j = 0;
    char c = 0;
    for (i = 0; i < 9; ++i) {
      fputc('\t', stdout);
      for (j = 0; j < 22; ++j) {
        c = (t[i][j] != 0) ? '#' : ' ';
        fputc(c, stdout);
      }
      fputc('\n', stdout);
    }
  };
  fprintf(stdout, "\n\n");
}


x86 assembly (clang, -O0):
<ich_liebe_dich>:
push   %rbp
mov    %rsp,%rbp
sub    $0xb60,%rsp
lea    -0x510(%rbp),%rdi
lea    0xeb7(%rip),%rsi
mov    $0x510,%edx
call   1050 <memcpy@plt>
lea    -0x810(%rbp),%rdi
lea    0x13af(%rip),%rsi
mov    $0x2f4,%edx
call   1050 <memcpy@plt>
lea    -0xb30(%rbp),%rdi
lea    0x1697(%rip),%rsi
mov    $0x318,%edx
call   1050 <memcpy@plt>
mov    0x2e56(%rip),%rax
mov    (%rax),%edi
lea    0x1995(%rip),%rsi
call   1040 <fprintf@plt>
movl   $0x0,-0xb34(%rbp)
movl   $0x0,-0xb38(%rbp)
movb   $0x0,-0xb39(%rbp)
movl   $0x0,-0xb34(%rbp)
cmpl   $0x9,-0xb34(%rbp)
jge    127e <ich_liebe_dich+0x14e>
mov    0x2e0f(%rip),%rax
mov    (%rax),%esi
mov    $0x9,%edi
call   1030 <fputc@plt>
movl   $0x0,-0xb38(%rbp)
cmpl   $0x24,-0xb38(%rbp)
jge    1257 <ich_liebe_dich+0x127>
movslq -0xb34(%rbp),%rcx
lea    -0x510(%rbp),%rax
imul   $0x90,%rcx,%rcx
add    %rcx,%rax
movslq -0xb38(%rbp),%rcx
mov    (%rax,%rcx,4),%edx
mov    $0x20,%eax
mov    $0x23,%ecx
cmp    $0x0,%edx
cmovne %ecx,%eax
mov    %al,-0xb39(%rbp)
mov    -0xb39(%rbp),%al
mov    0x2da7(%rip),%rcx
mov    (%rcx),%esi
movsbl %al,%edi
call   1030 <fputc@plt>
mov    -0xb38(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb38(%rbp)
jmp    11e7 <ich_liebe_dich+0xb7>
mov    0x2d82(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1030 <fputc@plt>
mov    -0xb34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb34(%rbp)
jmp    11bd <ich_liebe_dich+0x8d>
mov    0x2d5b(%rip),%rax
mov    (%rax),%edi
lea    0x189a(%rip),%rsi
call   1040 <fprintf@plt>
movl   $0x0,-0xb40(%rbp)
movl   $0x0,-0xb44(%rbp)
movb   $0x0,-0xb45(%rbp)
movl   $0x0,-0xb40(%rbp)
cmpl   $0x9,-0xb40(%rbp)
jge    1376 <ich_liebe_dich+0x246>
mov    0x2d14(%rip),%rax
mov    (%rax),%esi
mov    $0x9,%edi
call   1030 <fputc@plt>
movl   $0x0,-0xb44(%rbp)
cmpl   $0x15,-0xb44(%rbp)
jge    134f <ich_liebe_dich+0x21f>
movslq -0xb40(%rbp),%rcx
lea    -0x810(%rbp),%rax
imul   $0x54,%rcx,%rcx
add    %rcx,%rax
movslq -0xb44(%rbp),%rcx
mov    (%rax,%rcx,4),%edx
mov    $0x20,%eax
mov    $0x23,%ecx
cmp    $0x0,%edx
cmovne %ecx,%eax
mov    %al,-0xb45(%rbp)
mov    -0xb45(%rbp),%al
mov    0x2caf(%rip),%rcx
mov    (%rcx),%esi
movsbl %al,%edi
call   1030 <fputc@plt>
mov    -0xb44(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb44(%rbp)
jmp    12e2 <ich_liebe_dich+0x1b2>
mov    0x2c8a(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1030 <fputc@plt>
mov    -0xb40(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb40(%rbp)
jmp    12b8 <ich_liebe_dich+0x188>
mov    0x2c63(%rip),%rax
mov    (%rax),%edi
lea    0x17a2(%rip),%rsi
call   1040 <fprintf@plt>
movl   $0x0,-0xb4c(%rbp)
movl   $0x0,-0xb50(%rbp)
movb   $0x0,-0xb51(%rbp)
movl   $0x0,-0xb4c(%rbp)
cmpl   $0x9,-0xb4c(%rbp)
jge    146e <ich_liebe_dich+0x33e>
mov    0x2c1c(%rip),%rax
mov    (%rax),%esi
mov    $0x9,%edi
call   1030 <fputc@plt>
movl   $0x0,-0xb50(%rbp)
cmpl   $0x16,-0xb50(%rbp)
jge    1447 <ich_liebe_dich+0x317>
movslq -0xb4c(%rbp),%rcx
lea    -0xb30(%rbp),%rax
imul   $0x58,%rcx,%rcx
add    %rcx,%rax
movslq -0xb50(%rbp),%rcx
mov    (%rax,%rcx,4),%edx
mov    $0x20,%eax
mov    $0x23,%ecx
cmp    $0x0,%edx
cmovne %ecx,%eax
mov    %al,-0xb51(%rbp)
mov    -0xb51(%rbp),%al
mov    0x2bb7(%rip),%rcx
mov    (%rcx),%esi
movsbl %al,%edi
call   1030 <fputc@plt>
mov    -0xb50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb50(%rbp)
jmp    13da <ich_liebe_dich+0x2aa>
mov    0x2b92(%rip),%rax
mov    (%rax),%esi
mov    $0xa,%edi
call   1030 <fputc@plt>
mov    -0xb4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xb4c(%rbp)
jmp    13b0 <ich_liebe_dich+0x280>
mov    0x2b6b(%rip),%rax
mov    (%rax),%edi
lea    0x16aa(%rip),%rsi
call   1040 <fprintf@plt>
add    $0xb60,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<ich_liebe_dich>:
push   %r15
push   %r14
push   %r12
push   %rbx
push   %rax
mov    0x2eb1(%rip),%r14
mov    (%r14),%edi
lea    0x19ef(%rip),%rsi
call   1040 <fprintf@plt>
lea    0xebb(%rip),%r12
xor    %r15d,%r15d
nopl   0x0(%rax,%rax,1)
mov    (%r14),%esi
mov    $0x9,%edi
call   1030 <fputc@plt>
xor    %ebx,%ebx
nop
xor    %eax,%eax
cmpl   $0x0,(%r12,%rbx,4)
setne  %al
mov    (%r14),%esi
lea    (%rax,%rax,2),%edi
or     $0x20,%edi
call   1030 <fputc@plt>
add    $0x1,%rbx
cmp    $0x24,%rbx
jne    1160 <ich_liebe_dich+0x40>
mov    (%r14),%esi
mov    $0xa,%edi
call   1030 <fputc@plt>
add    $0x1,%r15
add    $0x90,%r12
cmp    $0x9,%r15
jne    1150 <ich_liebe_dich+0x30>
mov    (%r14),%edi
lea    0x197e(%rip),%rsi
call   1040 <fprintf@plt>
lea    0x135a(%rip),%r12
xor    %r15d,%r15d
nopl   0x0(%rax)
mov    (%r14),%esi
mov    $0x9,%edi
call   1030 <fputc@plt>
xor    %ebx,%ebx
nop
xor    %eax,%eax
cmpl   $0x0,(%r12,%rbx,4)
setne  %al
mov    (%r14),%esi
lea    (%rax,%rax,2),%edi
or     $0x20,%edi
call   1030 <fputc@plt>
add    $0x1,%rbx
cmp    $0x15,%rbx
jne    11d0 <ich_liebe_dich+0xb0>
mov    (%r14),%esi
mov    $0xa,%edi
call   1030 <fputc@plt>
add    $0x1,%r15
add    $0x54,%r12
cmp    $0x9,%r15
jne    11c0 <ich_liebe_dich+0xa0>
mov    (%r14),%edi
lea    0x1911(%rip),%rsi
call   1040 <fprintf@plt>
lea    0x15ed(%rip),%r12
xor    %r15d,%r15d
cs nopw 0x0(%rax,%rax,1)
mov    (%r14),%esi
mov    $0x9,%edi
call   1030 <fputc@plt>
xor    %ebx,%ebx
nop
xor    %eax,%eax
cmpl   $0x0,(%r12,%rbx,4)
setne  %al
mov    (%r14),%esi
lea    (%rax,%rax,2),%edi
or     $0x20,%edi
call   1030 <fputc@plt>
add    $0x1,%rbx
cmp    $0x16,%rbx
jne    1240 <ich_liebe_dich+0x120>
mov    (%r14),%esi
mov    $0xa,%edi
call   1030 <fputc@plt>
add    $0x1,%r15
add    $0x58,%r12
cmp    $0x9,%r15
jne    1230 <ich_liebe_dich+0x110>
mov    (%r14),%edi
lea    0x18a1(%rip),%rsi
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
jmp    1040 <fprintf@plt>

LLVM IR (-O0):
@__const.ich_liebe_dich.f = [9 x [36 x i32]] [[36 x i32] [i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [36 x i32] [i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0]]
@__const.ich_liebe_dich.s = [9 x [21 x i32]] [[21 x i32] [i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0], [21 x i32] [i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [21 x i32] [i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [21 x i32] [i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [21 x i32] [i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [21 x i32] [i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0], [21 x i32] [i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0], [21 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [21 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0]]
@__const.ich_liebe_dich.t = [9 x [22 x i32]] [[22 x i32] [i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0], [22 x i32] [i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [22 x i32] [i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [22 x i32] [i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [22 x i32] [i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [22 x i32] [i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0], [22 x i32] [i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0], [22 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0], [22 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0]]
@stdout = global i32 0
@.str = [3 x i8] c"\0A\0A\00"
define void @ich_liebe_dich() {
%1 = alloca [9 x [36 x i32]]
%2 = alloca [9 x [21 x i32]]
%3 = alloca [9 x [22 x i32]]
%4 = alloca i32
%5 = alloca i32
%6 = alloca i8
%7 = alloca i32
%8 = alloca i32
%9 = alloca i8
%10 = alloca i32
%11 = alloca i32
%12 = alloca i8
%13 = bitcast [9 x [36 x i32]]* %1 to i8*
%14 = bitcast [9 x [21 x i32]]* %2 to i8*
%15 = bitcast [9 x [22 x i32]]* %3 to i8*
%16 = load i32, i32* @stdout
%17 = call i32 @fprintf(i32 %16, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
store i32 0, i32* %4
store i32 0, i32* %5
store i8 0, i8* %6
store i32 0, i32* %4
br label %18
18: ; preds = %48, %0
%19 = load i32, i32* %4
%20 = icmp slt i32 %19, 9
br i1 %20, label %21, label %51
21: ; preds = %18
%22 = load i32, i32* @stdout
%23 = call i32 @fputc(i8 signext 9, i32 %22)
store i32 0, i32* %5
br label %24
24: ; preds = %42, %21
%25 = load i32, i32* %5
%26 = icmp slt i32 %25, 36
br i1 %26, label %27, label %45
27: ; preds = %24
%28 = load i32, i32* %4
%29 = sext i32 %28 to i64
%30 = getelementptr inbounds [9 x [36 x i32]], [9 x [36 x i32]]* %1, i64 0, i64 %29
%31 = load i32, i32* %5
%32 = sext i32 %31 to i64
%33 = getelementptr inbounds [36 x i32], [36 x i32]* %30, i64 0, i64 %32
%34 = load i32, i32* %33
%35 = icmp ne i32 %34, 0
%36 = zext i1 %35 to i64
%37 = select i1 %35, i32 35, i32 32
%38 = trunc i32 %37 to i8
store i8 %38, i8* %6
%39 = load i8, i8* %6
%40 = load i32, i32* @stdout
%41 = call i32 @fputc(i8 signext %39, i32 %40)
br label %42
42: ; preds = %27
%43 = load i32, i32* %5
%44 = add nsw i32 %43, 1
store i32 %44, i32* %5
br label %24
45: ; preds = %24
%46 = load i32, i32* @stdout
%47 = call i32 @fputc(i8 signext 10, i32 %46)
br label %48
48: ; preds = %45
%49 = load i32, i32* %4
%50 = add nsw i32 %49, 1
store i32 %50, i32* %4
br label %18
51: ; preds = %18
%52 = load i32, i32* @stdout
%53 = call i32 @fprintf(i32 %52, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
store i32 0, i32* %7
store i32 0, i32* %8
store i8 0, i8* %9
store i32 0, i32* %7
br label %54
54: ; preds = %84, %51
%55 = load i32, i32* %7
%56 = icmp slt i32 %55, 9
br i1 %56, label %57, label %87
57: ; preds = %54
%58 = load i32, i32* @stdout
%59 = call i32 @fputc(i8 signext 9, i32 %58)
store i32 0, i32* %8
br label %60
60: ; preds = %78, %57
%61 = load i32, i32* %8
%62 = icmp slt i32 %61, 21
br i1 %62, label %63, label %81
63: ; preds = %60
%64 = load i32, i32* %7
%65 = sext i32 %64 to i64
%66 = getelementptr inbounds [9 x [21 x i32]], [9 x [21 x i32]]* %2, i64 0, i64 %65
%67 = load i32, i32* %8
%68 = sext i32 %67 to i64
%69 = getelementptr inbounds [21 x i32], [21 x i32]* %66, i64 0, i64 %68
%70 = load i32, i32* %69
%71 = icmp ne i32 %70, 0
%72 = zext i1 %71 to i64
%73 = select i1 %71, i32 35, i32 32
%74 = trunc i32 %73 to i8
store i8 %74, i8* %9
%75 = load i8, i8* %9
%76 = load i32, i32* @stdout
%77 = call i32 @fputc(i8 signext %75, i32 %76)
br label %78
78: ; preds = %63
%79 = load i32, i32* %8
%80 = add nsw i32 %79, 1
store i32 %80, i32* %8
br label %60
81: ; preds = %60
%82 = load i32, i32* @stdout
%83 = call i32 @fputc(i8 signext 10, i32 %82)
br label %84
84: ; preds = %81
%85 = load i32, i32* %7
%86 = add nsw i32 %85, 1
store i32 %86, i32* %7
br label %54
87: ; preds = %54
%88 = load i32, i32* @stdout
%89 = call i32 @fprintf(i32 %88, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
store i32 0, i32* %10
store i32 0, i32* %11
store i8 0, i8* %12
store i32 0, i32* %10
br label %90
90: ; preds = %120, %87
%91 = load i32, i32* %10
%92 = icmp slt i32 %91, 9
br i1 %92, label %93, label %123
93: ; preds = %90
%94 = load i32, i32* @stdout
%95 = call i32 @fputc(i8 signext 9, i32 %94)
store i32 0, i32* %11
br label %96
96: ; preds = %114, %93
%97 = load i32, i32* %11
%98 = icmp slt i32 %97, 22
br i1 %98, label %99, label %117
99: ; preds = %96
%100 = load i32, i32* %10
%101 = sext i32 %100 to i64
%102 = getelementptr inbounds [9 x [22 x i32]], [9 x [22 x i32]]* %3, i64 0, i64 %101
%103 = load i32, i32* %11
%104 = sext i32 %103 to i64
%105 = getelementptr inbounds [22 x i32], [22 x i32]* %102, i64 0, i64 %104
%106 = load i32, i32* %105
%107 = icmp ne i32 %106, 0
%108 = zext i1 %107 to i64
%109 = select i1 %107, i32 35, i32 32
%110 = trunc i32 %109 to i8
store i8 %110, i8* %12
%111 = load i8, i8* %12
%112 = load i32, i32* @stdout
%113 = call i32 @fputc(i8 signext %111, i32 %112)
br label %114
114: ; preds = %99
%115 = load i32, i32* %11
%116 = add nsw i32 %115, 1
store i32 %116, i32* %11
br label %96
117: ; preds = %96
%118 = load i32, i32* @stdout
%119 = call i32 @fputc(i8 signext 10, i32 %118)
br label %120
120: ; preds = %117
%121 = load i32, i32* %10
%122 = add nsw i32 %121, 1
store i32 %122, i32* %10
br label %90
123: ; preds = %90
%124 = load i32, i32* @stdout
%125 = call i32 @fprintf(i32 %124, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@__const.ich_liebe_dich.f = [9 x [36 x i32]] [[36 x i32] [i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [36 x i32] [i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [36 x i32] [i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0]]
@__const.ich_liebe_dich.s = [9 x [21 x i32]] [[21 x i32] [i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0], [21 x i32] [i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [21 x i32] [i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [21 x i32] [i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [21 x i32] [i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [21 x i32] [i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0], [21 x i32] [i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0], [21 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0], [21 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0]]
@__const.ich_liebe_dich.t = [9 x [22 x i32]] [[22 x i32] [i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0], [22 x i32] [i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [22 x i32] [i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [22 x i32] [i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1], [22 x i32] [i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0], [22 x i32] [i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0], [22 x i32] [i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0], [22 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0], [22 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0]]
@stdout = global i32 0
@.str = [3 x i8] c"\0A\0A\00"
define void @ich_liebe_dich() {
%1 = load i32, i32* @stdout
%2 = tail call i32 @fprintf(i32 %1, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
br label %3
3: ; preds = %0, %17
%4 = phi i64 [ 0, %0 ], [ %20, %17 ]
%5 = load i32, i32* @stdout
%6 = tail call i32 @fputc(i8 signext 9, i32 %5)
br label %7
7: ; preds = %3, %7
%8 = phi i64 [ 0, %3 ], [ %15, %7 ]
%9 = getelementptr inbounds [9 x [36 x i32]], [9 x [36 x i32]]* @__const.ich_liebe_dich.f, i64 0, i64 %4, i64 %8
%10 = load i32, i32* %9
%11 = icmp eq i32 %10, 0
%12 = select i1 %11, i8 32, i8 35
%13 = load i32, i32* @stdout
%14 = tail call i32 @fputc(i8 signext %12, i32 %13)
%15 = add nuw nsw i64 %8, 1
%16 = icmp eq i64 %15, 36
br i1 %16, label %17, label %7
17: ; preds = %7
%18 = load i32, i32* @stdout
%19 = tail call i32 @fputc(i8 signext 10, i32 %18)
%20 = add nuw nsw i64 %4, 1
%21 = icmp eq i64 %20, 9
br i1 %21, label %22, label %3
22: ; preds = %17
%23 = load i32, i32* @stdout
%24 = tail call i32 @fprintf(i32 %23, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
br label %25
25: ; preds = %22, %39
%26 = phi i64 [ 0, %22 ], [ %42, %39 ]
%27 = load i32, i32* @stdout
%28 = tail call i32 @fputc(i8 signext 9, i32 %27)
br label %29
29: ; preds = %25, %29
%30 = phi i64 [ 0, %25 ], [ %37, %29 ]
%31 = getelementptr inbounds [9 x [21 x i32]], [9 x [21 x i32]]* @__const.ich_liebe_dich.s, i64 0, i64 %26, i64 %30
%32 = load i32, i32* %31
%33 = icmp eq i32 %32, 0
%34 = select i1 %33, i8 32, i8 35
%35 = load i32, i32* @stdout
%36 = tail call i32 @fputc(i8 signext %34, i32 %35)
%37 = add nuw nsw i64 %30, 1
%38 = icmp eq i64 %37, 21
br i1 %38, label %39, label %29
39: ; preds = %29
%40 = load i32, i32* @stdout
%41 = tail call i32 @fputc(i8 signext 10, i32 %40)
%42 = add nuw nsw i64 %26, 1
%43 = icmp eq i64 %42, 9
br i1 %43, label %44, label %25
44: ; preds = %39
%45 = load i32, i32* @stdout
%46 = tail call i32 @fprintf(i32 %45, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
br label %47
47: ; preds = %44, %61
%48 = phi i64 [ 0, %44 ], [ %64, %61 ]
%49 = load i32, i32* @stdout
%50 = tail call i32 @fputc(i8 signext 9, i32 %49)
br label %51
51: ; preds = %47, %51
%52 = phi i64 [ 0, %47 ], [ %59, %51 ]
%53 = getelementptr inbounds [9 x [22 x i32]], [9 x [22 x i32]]* @__const.ich_liebe_dich.t, i64 0, i64 %48, i64 %52
%54 = load i32, i32* %53
%55 = icmp eq i32 %54, 0
%56 = select i1 %55, i8 32, i8 35
%57 = load i32, i32* @stdout
%58 = tail call i32 @fputc(i8 signext %56, i32 %57)
%59 = add nuw nsw i64 %52, 1
%60 = icmp eq i64 %59, 22
br i1 %60, label %61, label %51
61: ; preds = %51
%62 = load i32, i32* @stdout
%63 = tail call i32 @fputc(i8 signext 10, i32 %62)
%64 = add nuw nsw i64 %48, 1
%65 = icmp eq i64 %64, 9
br i1 %65, label %66, label %47
66: ; preds = %61
%67 = load i32, i32* @stdout
%68 = tail call i32 @fprintf(i32 %67, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
ret void
}